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

Przejdź do nawigacji Przejdź do wyszukiwania
brak opisu edycji
Nie podano opisu zmian
Linia 7: Linia 7:
= Składnia pliku konfiguracyjnego =
= Składnia pliku konfiguracyjnego =


Konfiguracja składa się z bloków opisujących poszczególne elementy systemu. Definicja bloku rozpoczyna się jego nazwą, po czym w nawiasach wąsowych występuje zero lub więcej dostępnych opcji konfiguracyjnych dla elementu. Elementy objęte konfiguracją to:
Konfiguracja składa się z bloków opisujących poszczególne elementy systemu. Definicja bloku rozpoczyna się jego nazwą, po czym w nawiasach wąsowych występuje zero lub więcej dostępnych opcji konfiguracyjnych dla elementu. Dozwolone są następujace bloki:


* '''cpu''' - procesor
* '''computer''' - konfiguracja procesora i emulacji
* '''memory''' - pamięć
* '''channel n''' - konfiguracja kanałów dla n = 0...15


== Procesor ==
== Komputer ==


Dostępne sa następujące opcje konfigurujące działanie procesora:
Dostępne sa następujące opcje konfigurujące działanie procesora:


* '''speed''' - prędkość emulacji procesora. Dostępne warianty:
* '''speed_real''' - zachowanie prędkości emulacji odpowiadającej prawdziwej MERZE-400 (true/false).  
** '''max''' - emulacja z maksymalną możliwą prędkością
** '''real''' - emulator stara się zachować oryginalne czasy wykonania instrukcji, czasy dostępu do pamięci i urządzeń zewnętrznych
* '''timer_step''' - okres [[Przerwanie_zegarowe|zegara systemowego]] (w milisekundach)
* '''timer_step''' - okres [[Przerwanie_zegarowe|zegara systemowego]] (w milisekundach)
* '''mod_17bit''' - włącz/wyłącz modyfikację sprzętową CPU pozwalającą na 17-bitowe adresowanie bajtów (domyślnie włączone)
* '''cpu_mod''' - włącz modyfikacje procesora do zgodności z MX-16 (true/false)
* '''mod_sint''' - włącz/wyłącz modyfikację sprzętową dodającą przerwanie programowe o wysokim priorytecie (domyślnie włączone)
* '''cpu_user_io_illegal''' - instrukcje IN/OU nielegalne dla programów użytkownika (true/false)
* '''cpu_awp''' - dołącz [[Arytmometr Wielokrotnej Precyzji]] (true/false)
* '''mem_elwro''' - ilość bloków pamięci Elwro (bloki 32ksłowa)
* '''mem_mega''' - ilość bloków [[Pamięć MEGA|pamięci MEGA]] (bloki 64ksłowa)
* '''mem_mega_prom''' - nazwa pliku z obrazem pamięci PROM MEGA
* '''mem_os_segments''' - liczba segmentów zarezerwowanych dla systemu operacyjnego (1 lub 2)


Przykładowy blok konfiguracji CPU:
Przykładowy blok konfiguracji komputera:


  cpu {
  computer {
         speed = max
         speed_real = false
         timer_step = 10
         timer_step = 10
         mod_17bit = true
         cpu_user_io_illegal = true
         mod_sint = false
         cpu_awp = true
}
        cpu_mod = false
 
        mem_elwro = 1
== Pamięć ==
         mem_mega = 16
 
         mem_mega_prom = mega_prom.img
Każdy z szesnastu fizycznych modułów [[Pamięć operacyjna|pamięci operacyjnej]] może zostać skonfigurowany niezależnie. Dołączone zostaną tylko moduły o numerach podanych w konfiguracji, pozostałe będą z punktu widzenia systemu nieobecne. Konfiguracja pojedynczego modułu pamięci opisana jest w następujący sposób:
         mem_os_segments = 2
 
module <nr_modułu> = <typ>:<il_segmentów>
 
Gdzie:
* '''nr_modułu''' - kolejny numer modułu pamięci z zakresu 0-15 (moduł 0 to moduł pamięci systemu operacyjnego, musi mieć rozmiar przynajmniej 2 segmentów)
* '''typ''' - typ modułu pamięci. Dostępne typy to:
** '''elwro''' - pamięć ferrytowa
** '''[[Pamięć MEGA|mega]]''' - pamięć półprzewodnikowa
* '''il_segmentów''' - ilość 4k-słowowych segmentów w module (liczba z zakresu 1-16)
 
Przykładowy blok konfiguracji pamięci:
 
memory {
         module  0 = elwro:8
         module  1 = mega:16
         module  2 = mega:5
  }
  }


Menu nawigacyjne