EM400 - konfiguracja: Różnice pomiędzy wersjami
Nie podano opisu zmian |
Nie podano opisu zmian |
||
| (Nie pokazano 18 pośrednich wersji utworzonych przez tego samego użytkownika) | |||
| Linia 1: | Linia 1: | ||
__NOTOC__ | |||
Konfiguracja emulatora dostępna jest z menu '''Emulator → Ustawienia''' i zorganizowana jest w sekcje: | |||
# '''Maszyna''' - konfiguracje sprzętowe emulowanego komputera | |||
# '''Ogólne''' - ustawienia emulacji i interfejsu użytkownika | |||
# '''Dźwięk''' - ustawienia dźwięków interfejsu użytkownika i głośniczka CPU | |||
# '''Logowanie''' - konfiguracja logowania | |||
= Maszyna = | |||
[[File:Konfiguracja-maszyna.png|thumb|500px|Konfiguracja: Maszyna (procesor)]] | |||
EM400 pozwala przygotować wiele konfiguracji minikomputera i przełączać się nimi w zależności od potrzeb. | |||
Przy pierwszym uruchomieniu, EM400 tworzy dwie domyślne maszyny: | |||
* '''MERA-400''' - prosta konfiguracja z dwoma modułami pamięci Elwro i stacją dysków SP45DE | |||
* '''MX-16''' - przeznaczona do uruchamiania systemu operacyjnego CROOK-5, z pamięcią MEGA Amepolu, procesorem peryferyjnym MULTIX i dyskiem Winchester | |||
Zarządzanie maszynami umożliwiają następujące opcje: | |||
* '''Aktywna maszyna''' - wybór aktualnie edytowanej konfiguracji minikomputera | |||
* '''Dodaj...''' - dodawanie nowej maszyny. Otwiera okienko pozwalające wpisać jej nazwę. Identyfikator maszyny wywodzony jest z podanej nazwy | |||
* '''Powiel...''' - robi kopię aktualnie wybranej maszyny | |||
* '''Usuń''' - usuwa aktualnie wybraną maszynę | |||
* '''Nazwa''' - nazwa aktualnie wybranej maszyny | |||
* '''Identyfikator''' - identyfikator wybranej maszyny. Używa się go jako parametr opci '''-m''' przy wywoływaniu emulatora z linii poleceń | |||
Konfiguracja maszyny podzielona jest na trzy zakładki opisane w kolejnych sekcjach. | |||
== Procesor == | |||
Można zmienić następujące właściwości procesora | |||
* '''Jednostka zmiennoprzecinkowa (AWP)''' - czy zainstalowany jest Arytmometr Wielokrotnej Precyzji | |||
* '''Modyfikacje procesora''' - czy obecne są modyfikacje procesora wprowadzone w MX-16 | |||
* '''Instrukcje we/wy niedozwolone w trybie użytkownika''' - czy instrukcje IN oraz OU są niedozwolone w trybie użytkownika | |||
* '''Zatrzymaj przy braku pamięci''' - czy procesor zatrzymuje się, jeśli w segmencie pamięci dla systemu operacyjnego nastąpiło odwołanie do nieskonfigurowanej pamięci | |||
* '''Okres zegara''' - co jaki czas zgłaszane są przerwania zegarowe (z wewnętrznego timera CPU) | |||
== Pamięć == | |||
[[File:Konfiguracja-pamiec.png|thumb|500px|Konfiguracja: Maszyna (pamięć)]] | |||
* '''Moduły Elwro''' - ilość zainstalowanych modułów pamięci ferrytowej Elwro (po 32 ksłów każdy) | |||
* '''Moduły MEGA''' - ilość zainstalowanych modułów pamięci półprzewodnikowej MEGA Amepolu (po 64 ksłów każdy) | |||
* '''Strony systemowe (sprzętowe)''' - ilość stron pamięci skonfigurowanych sprzętowo dla systemu operacyjnego w segmencie 0 | |||
* '''Obraz PROM MEGA''' - obraz pamięci PROM (EPROM) w pamięci MEGA, który zastąpi domyślny | |||
* '''Wstępnie ładowany program''' - program, który zostanie automatycznie załadowany do segmentu 0 po włączeniu maszyny | |||
== Wejście/wyjście == | |||
[[File:Konfiguracja-wewy.png|thumb|500px|Konfiguracja: Maszyna (kanały i urządzenia)]] | |||
W tej zakładce konfigurowane są kanały wejścia/wyjścia i podłączone do nich urządzenia: | |||
* '''Dodaj kanał''' - dodanie nowego kanału wejścia/wyjścia (max 16) | |||
* '''Dodaj urządzenie''' - dodanie nowego kurządzenia w kanale (ich ilość zależy od kanału) | |||
* '''Usuń''' - usuń wybrane z listy urządzenie lub kanał | |||
=== Dodawanie kanału === | |||
Dodając nowy kanał należy wybrać jego numer oraz typ. Aktualnie obsługiwane kanały: | |||
* '''Znakowy''' - kanał znakowy minikomputera, do podłączanie wolnych urządzeń znakowych | |||
* '''MULTIX''' - procesor peryferynjy MULTIX Amepolu | |||
* '''Tester we/wy''' - do testów komunikacji, używany przez testy emulatora | |||
=== Dodawanie urządzeń do kanału === | |||
Dodanie nowego urządzenia wymaga wybrania jego numeru i typu, oraz ustalenia opcji, które są zależne od typu urządzenia. Dostępne typy urządzeń zależą od tego, w jakim kanale jest ono dodawane. | |||
==== Terminal ==== | |||
Dostępny w kanale znakowym i MULTIX-ie. '''UWAGA:''' Terminal w MULTIX-ie nie działa w obecnej wersji emulatora. | |||
* '''Port TCP''' - port TCP na którym słucha emulacja terminala. | |||
* '''Prędkość''' - emulowana prędkość działania emulacji terminala. Domyślnie 9600 bodów. | |||
==== Pamięć SP45DE ==== | |||
Dostępna tylko w kanale znakowym. | |||
* '''Obrazy dyskietek''' - pliki zawierające obrazy dyskietek 8" o geometrii: 1 strona (głowica), 77 ścieżek, 26 sektorów na ścieżkę, 128 bajtów na sektor = 256256 bajtów. | |||
==== Zegar czasu rzeczywistego Amepolu ==== | |||
Dostępny tylko w kanale znakowym. | |||
* '''Obraz PROM''' - alternatywna zawartość pamięci PROM zegara (256 bajtów). Zastępuje domyślną. | |||
==== Winchester ==== | |||
Dostępny tylko w MULTIX-ie. | |||
* '''Obraz dysku''' - plik zawierający obraz dysku o geometrii: 4 strony (głowice), 615 ścieżek, 16 sektorów na ścieżkę, 512 bajtów na sektor = 20152320 bajtów. | |||
==== Napęd dyskietek 5.25" ==== | |||
Dostępny tylko w MULTIX-ie. '''UWAGA:''' aktualnie nie obsługiwany. | |||
= Ogólne = | |||
[[File:Konfiguracja-ogolne.png|thumb|500px|Konfiguracja: Ogólne]] | |||
== Emulacja == | |||
Ustawienia dotyczące sposobu realizacji emulacji. | |||
'''Emulowane czasy''' określają to, jak wiernie emulator oddaje prawdziwą MERĘ-400 jeśli chodzi o prędkość pracy systemu. Możliwe są trzy poziomy: | |||
* '''Wszystkie''' - Aktywne są wszystkie czasy, które są zaimplementowane w emulatorze. EM400 oddaje MERĘ-400 tak wiernie, jak tylko potrafi. | |||
* '''Minimum''' - Aktywne są tylko czasy, które są wymagane do poprawnego działania oprogramowania MERY-400. Ogólna interakcja z emulowanym minikomputerem jest znacznie szybsza, niż z prawdziwym sprzętem. | |||
* '''Żadne''' - '''UWAGA:''' w tym trybie oprogramowanie może działać niepoprawnie z wielu przyczyn. Emulacja działa tak szybko, jak to możliwe. Nie są zachowane niemal żadne czasy działania prwawdziwego komputera. Przeznaczony do testowania, debugowania i w innych, szczególnych przypadkach. | |||
W miarę rozwoju emulatora w opcji '''Wszystkie''' uwzględnianych będzie coraz więcej aspektów pracy MERY-400. | |||
== Interfejs użytkownika == | |||
* '''Język''' - język interfejsu. Pozwala wybrać jeden z języków lub honorować ustawienia systemu. | |||
* '''Uruchom z włączoną maszyną''' - emulator uruchamia się z wybraną maszyną i włączonym zasilaniem (nie trzeba przekręcać kluczyka, żeby włączyć maszynę) | |||
* '''Motyw pulpitu''' - GUI EM400 używa własnego motywu. Wyłączenie opcji powoduje, że używany jest motyw systemowy. | |||
* '''Mały pulpit techniczny''' - grafika pulpitu technicznego skadrowana jest do interaktywnych elementów. | |||
* '''Terminal''' - określa, czy emulator używa wbudowanej emulacji terminala, czy zewnętrznego terminala konfigurowanego w następnej opcji | |||
* '''Polecenie terminala''' - polecenie, które uruchamiane jest, gdy użytkownik otwiera terminal, a opcja '''Terminal''' powyżej ustawiona jest na '''Zewnętrzny'''. Pomocnicze polecenie '''emterm''' instalowane jest wraz z emulatorem i zapewnia poprawne połączenie z emulatorem. | |||
* '''Czcionka debugera''' - czcionka używana w interfejsie debugera | |||
* '''Czcionka terminala''' - czcionka używana we wbudowanym terminalu | |||
= Dźwięk = | |||
[[File:Konfiguracja-dzwiek.png|thumb|500px|Konfiguracja: Dźwięk]] | |||
Dźwięk w emulatorze to dwa osobne tory audio: | |||
* dźwięki interfejsu - pstrykanie kluczy, dźwięk pokrętła rejestrów, etc. | |||
* dźwięk głośniczka CPU - generowany przez samą emulację | |||
== Dźwięki interfejsu == | |||
* '''Głośność''' - głośność dźwięków interfejsu | |||
* '''Uwielbiam gdy cewki piszczą''' - sprawdź sam ;-) | |||
== Głośniczek CPU == | |||
* '''Wyjście dźwięku włączone''' - włączenie dźwięku CPU | |||
* '''Głośność''' - głośność głośniczka CPU | |||
* '''Częstotliwość próbkowania''' | |||
* '''Długość bufora''' | |||
* '''Opóźnienie''' | |||
* '''Podsystem audio''' | |||
* '''Urządzenie''' | |||
= Logowanie = | |||
[[File:Konfiguracja-logowanie.png|thumb|500px|Konfiguracja: Logowanie]] | |||
Umożliwia logowanie pracy emulatora do pliku. | |||
* '''Logowanie włączone''' - aktywuje logowanie | |||
* '''Komponenty''' - jakie komponenty emulacji zapisują swoje akcje do pliku logu | |||
* '''Plik logu''' - plik, to którego log jest zapisywany | |||
* '''Buforowanie liniowe''' - zapis do pliku odbywa się po każdej linii. W przeciwnym wypadku zapisy są buforowane do większych zapisów (wydajniejsze, ale można stracić fragment loga) | |||
Dostępne komponenty: | |||
* LIB - komunikaty biblioteki libem400 | |||
* APP - komunikaty aplikacji używającej biblioteki em400 | |||
* CRK5 - procesy i wywołania systemowe CROOK-5 | |||
* MEM - konfiguracja i zdarzenia w pamięci | |||
* CPU - praca procesora '''UWAGA:''' włączenie tej opcji loguje każdą wykonywaną instrukcję. Może to spowolnić emulację i generować pliki o rozmiarze wielu GB | |||
* OP - szczegóły wybranych instrukcji CPU | |||
* INT - przerwania | |||
* IO - podsystem wejścia/wyjścia | |||
* MX - MULTIX | |||
* CCHR - kanał znakowy | |||
* CMEM - kanał pamięciowy | |||
* UZDAT - port szeregowy w kanale znakowym | |||
* UZFX - kontroler stacji dysków SP45DE | |||
* MECLO - zegar czasu rzeczywistego Amepolu | |||
* TERM - terminal | |||
* 9425 - dysk MERA 9425 | |||
* WNCH - dysk Winchester | |||
* FLOP - stacja dysków | |||
* PNCH - dziurkarka taśmy papierowej | |||
* PNRD - czytnik taśmy papierowej | |||
* TAPE - taśma magnetyczna | |||
= Plik konfiguracyjny = | |||
Konfiguracja określona w oknie ustawień emulatora zapisywana jest do tekstowego pliku konfiguracyjnego. EM400 odnajduje go w następujący sposób: | |||
# Jeśli użytkownik podał nazwę pliku konfiguracyjnego w linii poleceń (używając przełącznika '''-c'''), zostanie on użyty. | # Jeśli użytkownik podał nazwę pliku konfiguracyjnego w linii poleceń (używając przełącznika '''-c'''), zostanie on użyty. | ||
| Linia 8: | Linia 197: | ||
#* w systemach Windows: | #* w systemach Windows: | ||
#** '''%APPDATA%\em400\em400.ini''' | #** '''%APPDATA%\em400\em400.ini''' | ||
# Jeśli plik konfiguracyjny nie istnieje, tworzony jest domyślny. | |||
Aktualny opis pliku konfiguracyjnego wraz z przykładami znajduje się [https://github.com/jakubfi/em400/blob/master/cfg/em400.ini tutaj] | |||
Aktualna wersja na dzień 14:45, 30 sie 2026
Konfiguracja emulatora dostępna jest z menu Emulator → Ustawienia i zorganizowana jest w sekcje:
- Maszyna - konfiguracje sprzętowe emulowanego komputera
- Ogólne - ustawienia emulacji i interfejsu użytkownika
- Dźwięk - ustawienia dźwięków interfejsu użytkownika i głośniczka CPU
- Logowanie - konfiguracja logowania
Maszyna

EM400 pozwala przygotować wiele konfiguracji minikomputera i przełączać się nimi w zależności od potrzeb.
Przy pierwszym uruchomieniu, EM400 tworzy dwie domyślne maszyny:
- MERA-400 - prosta konfiguracja z dwoma modułami pamięci Elwro i stacją dysków SP45DE
- MX-16 - przeznaczona do uruchamiania systemu operacyjnego CROOK-5, z pamięcią MEGA Amepolu, procesorem peryferyjnym MULTIX i dyskiem Winchester
Zarządzanie maszynami umożliwiają następujące opcje:
- Aktywna maszyna - wybór aktualnie edytowanej konfiguracji minikomputera
- Dodaj... - dodawanie nowej maszyny. Otwiera okienko pozwalające wpisać jej nazwę. Identyfikator maszyny wywodzony jest z podanej nazwy
- Powiel... - robi kopię aktualnie wybranej maszyny
- Usuń - usuwa aktualnie wybraną maszynę
- Nazwa - nazwa aktualnie wybranej maszyny
- Identyfikator - identyfikator wybranej maszyny. Używa się go jako parametr opci -m przy wywoływaniu emulatora z linii poleceń
Konfiguracja maszyny podzielona jest na trzy zakładki opisane w kolejnych sekcjach.
Procesor
Można zmienić następujące właściwości procesora
- Jednostka zmiennoprzecinkowa (AWP) - czy zainstalowany jest Arytmometr Wielokrotnej Precyzji
- Modyfikacje procesora - czy obecne są modyfikacje procesora wprowadzone w MX-16
- Instrukcje we/wy niedozwolone w trybie użytkownika - czy instrukcje IN oraz OU są niedozwolone w trybie użytkownika
- Zatrzymaj przy braku pamięci - czy procesor zatrzymuje się, jeśli w segmencie pamięci dla systemu operacyjnego nastąpiło odwołanie do nieskonfigurowanej pamięci
- Okres zegara - co jaki czas zgłaszane są przerwania zegarowe (z wewnętrznego timera CPU)
Pamięć

- Moduły Elwro - ilość zainstalowanych modułów pamięci ferrytowej Elwro (po 32 ksłów każdy)
- Moduły MEGA - ilość zainstalowanych modułów pamięci półprzewodnikowej MEGA Amepolu (po 64 ksłów każdy)
- Strony systemowe (sprzętowe) - ilość stron pamięci skonfigurowanych sprzętowo dla systemu operacyjnego w segmencie 0
- Obraz PROM MEGA - obraz pamięci PROM (EPROM) w pamięci MEGA, który zastąpi domyślny
- Wstępnie ładowany program - program, który zostanie automatycznie załadowany do segmentu 0 po włączeniu maszyny
Wejście/wyjście

W tej zakładce konfigurowane są kanały wejścia/wyjścia i podłączone do nich urządzenia:
- Dodaj kanał - dodanie nowego kanału wejścia/wyjścia (max 16)
- Dodaj urządzenie - dodanie nowego kurządzenia w kanale (ich ilość zależy od kanału)
- Usuń - usuń wybrane z listy urządzenie lub kanał
Dodawanie kanału
Dodając nowy kanał należy wybrać jego numer oraz typ. Aktualnie obsługiwane kanały:
- Znakowy - kanał znakowy minikomputera, do podłączanie wolnych urządzeń znakowych
- MULTIX - procesor peryferynjy MULTIX Amepolu
- Tester we/wy - do testów komunikacji, używany przez testy emulatora
Dodawanie urządzeń do kanału
Dodanie nowego urządzenia wymaga wybrania jego numeru i typu, oraz ustalenia opcji, które są zależne od typu urządzenia. Dostępne typy urządzeń zależą od tego, w jakim kanale jest ono dodawane.
Terminal
Dostępny w kanale znakowym i MULTIX-ie. UWAGA: Terminal w MULTIX-ie nie działa w obecnej wersji emulatora.
- Port TCP - port TCP na którym słucha emulacja terminala.
- Prędkość - emulowana prędkość działania emulacji terminala. Domyślnie 9600 bodów.
Pamięć SP45DE
Dostępna tylko w kanale znakowym.
- Obrazy dyskietek - pliki zawierające obrazy dyskietek 8" o geometrii: 1 strona (głowica), 77 ścieżek, 26 sektorów na ścieżkę, 128 bajtów na sektor = 256256 bajtów.
Zegar czasu rzeczywistego Amepolu
Dostępny tylko w kanale znakowym.
- Obraz PROM - alternatywna zawartość pamięci PROM zegara (256 bajtów). Zastępuje domyślną.
Winchester
Dostępny tylko w MULTIX-ie.
- Obraz dysku - plik zawierający obraz dysku o geometrii: 4 strony (głowice), 615 ścieżek, 16 sektorów na ścieżkę, 512 bajtów na sektor = 20152320 bajtów.
Napęd dyskietek 5.25"
Dostępny tylko w MULTIX-ie. UWAGA: aktualnie nie obsługiwany.
Ogólne

Emulacja
Ustawienia dotyczące sposobu realizacji emulacji.
Emulowane czasy określają to, jak wiernie emulator oddaje prawdziwą MERĘ-400 jeśli chodzi o prędkość pracy systemu. Możliwe są trzy poziomy:
- Wszystkie - Aktywne są wszystkie czasy, które są zaimplementowane w emulatorze. EM400 oddaje MERĘ-400 tak wiernie, jak tylko potrafi.
- Minimum - Aktywne są tylko czasy, które są wymagane do poprawnego działania oprogramowania MERY-400. Ogólna interakcja z emulowanym minikomputerem jest znacznie szybsza, niż z prawdziwym sprzętem.
- Żadne - UWAGA: w tym trybie oprogramowanie może działać niepoprawnie z wielu przyczyn. Emulacja działa tak szybko, jak to możliwe. Nie są zachowane niemal żadne czasy działania prwawdziwego komputera. Przeznaczony do testowania, debugowania i w innych, szczególnych przypadkach.
W miarę rozwoju emulatora w opcji Wszystkie uwzględnianych będzie coraz więcej aspektów pracy MERY-400.
Interfejs użytkownika
- Język - język interfejsu. Pozwala wybrać jeden z języków lub honorować ustawienia systemu.
- Uruchom z włączoną maszyną - emulator uruchamia się z wybraną maszyną i włączonym zasilaniem (nie trzeba przekręcać kluczyka, żeby włączyć maszynę)
- Motyw pulpitu - GUI EM400 używa własnego motywu. Wyłączenie opcji powoduje, że używany jest motyw systemowy.
- Mały pulpit techniczny - grafika pulpitu technicznego skadrowana jest do interaktywnych elementów.
- Terminal - określa, czy emulator używa wbudowanej emulacji terminala, czy zewnętrznego terminala konfigurowanego w następnej opcji
- Polecenie terminala - polecenie, które uruchamiane jest, gdy użytkownik otwiera terminal, a opcja Terminal powyżej ustawiona jest na Zewnętrzny. Pomocnicze polecenie emterm instalowane jest wraz z emulatorem i zapewnia poprawne połączenie z emulatorem.
- Czcionka debugera - czcionka używana w interfejsie debugera
- Czcionka terminala - czcionka używana we wbudowanym terminalu
Dźwięk

Dźwięk w emulatorze to dwa osobne tory audio:
- dźwięki interfejsu - pstrykanie kluczy, dźwięk pokrętła rejestrów, etc.
- dźwięk głośniczka CPU - generowany przez samą emulację
Dźwięki interfejsu
- Głośność - głośność dźwięków interfejsu
- Uwielbiam gdy cewki piszczą - sprawdź sam ;-)
Głośniczek CPU
- Wyjście dźwięku włączone - włączenie dźwięku CPU
- Głośność - głośność głośniczka CPU
- Częstotliwość próbkowania
- Długość bufora
- Opóźnienie
- Podsystem audio
- Urządzenie
Logowanie

Umożliwia logowanie pracy emulatora do pliku.
- Logowanie włączone - aktywuje logowanie
- Komponenty - jakie komponenty emulacji zapisują swoje akcje do pliku logu
- Plik logu - plik, to którego log jest zapisywany
- Buforowanie liniowe - zapis do pliku odbywa się po każdej linii. W przeciwnym wypadku zapisy są buforowane do większych zapisów (wydajniejsze, ale można stracić fragment loga)
Dostępne komponenty:
- LIB - komunikaty biblioteki libem400
- APP - komunikaty aplikacji używającej biblioteki em400
- CRK5 - procesy i wywołania systemowe CROOK-5
- MEM - konfiguracja i zdarzenia w pamięci
- CPU - praca procesora UWAGA: włączenie tej opcji loguje każdą wykonywaną instrukcję. Może to spowolnić emulację i generować pliki o rozmiarze wielu GB
- OP - szczegóły wybranych instrukcji CPU
- INT - przerwania
- IO - podsystem wejścia/wyjścia
- MX - MULTIX
- CCHR - kanał znakowy
- CMEM - kanał pamięciowy
- UZDAT - port szeregowy w kanale znakowym
- UZFX - kontroler stacji dysków SP45DE
- MECLO - zegar czasu rzeczywistego Amepolu
- TERM - terminal
- 9425 - dysk MERA 9425
- WNCH - dysk Winchester
- FLOP - stacja dysków
- PNCH - dziurkarka taśmy papierowej
- PNRD - czytnik taśmy papierowej
- TAPE - taśma magnetyczna
Plik konfiguracyjny
Konfiguracja określona w oknie ustawień emulatora zapisywana jest do tekstowego pliku konfiguracyjnego. EM400 odnajduje go w następujący sposób:
- Jeśli użytkownik podał nazwę pliku konfiguracyjnego w linii poleceń (używając przełącznika -c), zostanie on użyty.
- Jeśli nie, domyślnie używany jest plik:
- w systemach Linux, kolejno:
- $XDG_CONFIG_HOME/em400/em400.ini
- $HOME/.config/em400/em400.ini
- w systemach Windows:
- %APPDATA%\em400\em400.ini
- w systemach Linux, kolejno:
- Jeśli plik konfiguracyjny nie istnieje, tworzony jest domyślny.
Aktualny opis pliku konfiguracyjnego wraz z przykładami znajduje się tutaj