EM400 - konfiguracja: Różnice pomiędzy wersjami

Z MERA 400 wiki
Przejdź do nawigacji Przejdź do wyszukiwania
 
Linia 1: Linia 1:
Plik konfiguracyjny EM400 pozwala skonfigurować parametry sprzętowe emulowanej maszyny i jest wymagany do uruchomienia emulatora. 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 '''~/.em400/em400.ini'''.
Plik konfiguracyjny EM400 pozwala skonfigurować parametry sprzętowe emulowanej maszyny i jest wymagany do uruchomienia emulatora. 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 '''~/.em400/em400.ini'''.


= Składnia pliku konfiguracyjnego =
Składnia pliku i opis poszczególnych opcji znajduje się [https://github.com/jakubfi/em400/blob/master/cfg/em400.ini.template tutaj]
 
Konfiguracja składa się z sekcji opisujących poszczególne elementy systemu. Definicja sekcji rozpoczyna się jego nazwą, po czym występują opcje konfiguracji dla danej sekcji. Rozpoznawane są następujące sekcje:
 
* '''cpu''' - konfiguracja emulacji procesora
* '''memory''' - konfiguracja emulacji pamięci
* '''log''' - konfiguracja logowania
* '''ui''' - ustawienia interfejsu użytkownika
* '''sound''' - konfiguracja dźwięku
* '''fpga''' - konfiguracja połączenia ze sprzętową implementacją procesora
* '''io''' - konfiguracja kanałów I/O systemu
* '''devX.Y''' - konfiguracja urządzeń w kanałach, gdzie X jest numerem kanału, a Y numerem urządzenia
 
== CPU ==
 
Dostępne sa następujące opcje konfigurujące działanie procesora:
 
* '''fpga''' - używanie sprzętowej implementacji procesora (true/false)
* '''speed_real''' - zachowanie prędkości emulacji odpowiadającej prawdziwej MERZE-400 (true/false).  
* '''speed_factor''' - współczynnik prędkości emulacji
* '''throttle_granularity''' - kwant czasu (w mikrosekundach) używany do śledzenia prędkości emulacji
* '''clock_period''' - okres [[Przerwanie_zegarowe|zegara systemowego]] (w milisekundach)
* '''clock_start''' - uruchom zegar systemowy przy starcie emulatora (true/false)
* '''modifications''' - włącz modyfikacje procesora do zgodności z MX-16 (true/false)
* '''user_io_illegal''' - instrukcje IN/OU nielegalne dla programów użytkownika (true/false)
* '''awp''' - dołącz [[Arytmometr Wielokrotnej Precyzji]] (true/false)
* '''stop_on_nomem''' - procesor przechodzi w stan STOP przy odwołaniu to nieskonfigurowanego segmentu pamięci w bloku 0 (true/false)
* '''kb''' - wartość do ustawienia na kluczach pulpitu technicznego przy starcie emulatora
 
Przykładowy blok konfiguracji procesora:
 
[cpu]
fpga = false
speed_real = false
speed_factor = 1
throttle_granularity = 10
clock_period = 10
clock_start = true
stop_on_nomem = true
user_io_illegal = true
awp = true
modifications = false
kb = 0
 
== Pamięć ==
 
* '''elwro_modules''' - ilość bloków pamięci Elwro (bloki 32ksłowa)
* '''mega_modules''' - ilość bloków [[Pamięć MEGA|pamięci MEGA]] (bloki 64ksłowa)
* '''mega_prom''' - nazwa pliku z obrazem pamięci PROM MEGA
* '''mega_boot''' - boot systemu z pamięci MEGA (true/false)
* '''hardwired_segments''' - liczba segmentów zarezerwowanych dla systemu operacyjnego (1 lub 2)
* '''preload''' - program ładowany do bloku 0 pamięci przy starcie emulatora
 
Przykładowy blok konfiguracji pamięci:
 
[memory]
elwro_modules = 1
mega_modules = 0
hardwired_segments = 2
mega_prom = mega0.bin
mega_boot = false
preload = program.bin
 
== Logowanie ==
 
EM400 pozwala na logowanie zdarzeń do pliku. Zadrzenia występują w obrębie ''komponentów''. Lista dostępnych komponentów jest następująca:
* em4h - emulator
* reg, mem, cpu, op, int - rejestry, pamieć, procesor i wykonywane instrukcje, przerwania
* io, mx, px, cchr, cmem - wejście/wyjście i kanały
* term, wnch, 9045, flop, pnch, pnrd - urządzenia zewnętrzne
* crk5 - CROOK-5
* all - komponent specjalny, zawiera wszystkie pozostałe komponenty
 
Konfiguracja logowania obejmuje następujące opcje:
 
* '''enabled''' - aktywuj logowanie (true/false)
* '''file''' - plik, do którego zapisywany będzie log
* '''components''' - określa które komponenty będą logowane
* '''line_buffered''' - pozwala włączyć buforowanie linii
 
Przykładowy blok konfiguracji logowania:
 
[log]
enabled=true
file=em400.log
components=em4h
line_buffered=true
 
== Urządzenia zewnętrzne ==
 
=== Kanały ===
 
Dołączenie emulacji kanału wymaga podania w sekcji '''io'' nazw kanałów jako wartości dla kluczy '''channel_X''', gdzie X jest numerem kanału, np.:
 
[io]
channel_15 = char
 
=== Urządzenia ===
 
Konfiguracja emulowanych urządzeń definiowana jest w osobnych sekcjach nazwanych '''devX.Y''', gdzie X jest numerem kanału, a Y numerem urządzenia.

Aktualna wersja na dzień 17:22, 1 gru 2021

Plik konfiguracyjny EM400 pozwala skonfigurować parametry sprzętowe emulowanej maszyny i jest wymagany do uruchomienia emulatora. 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 ~/.em400/em400.ini.

Składnia pliku i opis poszczególnych opcji znajduje się tutaj