EM400 - konfiguracja: Różnice pomiędzy wersjami
Przejdź do nawigacji
Przejdź do wyszukiwania
Nie podano opisu zmian |
|||
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. | 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 konfiguracyjnego = | ||
Konfiguracja składa się z | 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 | * '''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: | 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_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 | 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 == | == Logowanie == | ||
Linia 71: | Linia 93: | ||
=== Kanały === | === Kanały === | ||
Dołączenie emulacji kanału wymaga | 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 === | === Urządzenia === | ||
Konfiguracja emulowanych urządzeń definiowana jest | Konfiguracja emulowanych urządzeń definiowana jest w osobnych sekcjach nazwanych '''devX.Y''', gdzie X jest numerem kanału, a Y numerem urządzenia. | ||