MULTIX od środka: Różnice pomiędzy wersjami

Z MERA 400 wiki
Przejdź do nawigacji Przejdź do wyszukiwania
Linia 34: Linia 34:
|-
|-
| 0 || RO || DANEI || MSB dane odczytane z MERA-400
| 0 || RO || DANEI || MSB dane odczytane z MERA-400
|-
| 0 || WO || DANEO || MSB dane do przesłania rozkazem "pisz do PAO"
|-
|-
| 1 || RO || DANEI+1 || LSB dane odczytane z MERA-400
| 1 || RO || DANEI+1 || LSB dane odczytane z MERA-400
|-
| 1 || WO || DANEO+1 || LSB dane do przesłania rozkazem "pisz do PAO"
|-
|-
| 2 || RO || PSARG || MSB argument polecenia sterującego
| 2 || RO || PSARG || MSB argument polecenia sterującego
|-
| 2 || WO || ADRES || MSB adres w PAO MERA-400
|-
|-
| 3 || RO || PSARG+1 || LSB argument polecenia sterującego
| 3 || RO || PSARG+1 || LSB argument polecenia sterującego
|-
| 3 || WO || ADRES+1 || LSB adres w PAO MERA-400
|-
|-
| 4 || RO || POLST || specyfikacja polecenia sterującego
| 4 || RO || POLST || specyfikacja polecenia sterującego
|-
| 4 || WO || NBPN || nr bloku PAO, nr procesora
|-
|-
| 5 || RO || POLST+1 || ID linii
| 5 || RO || POLST+1 || ID linii
|-
| 5 || WO || KWINT || pokwitowanie przerwań
|-
| 6 || WO || SPECI || specyfikacja przerwania do MERA-400
|-
| 7 || WO || SPECI+1 || specyfikacja przerwania: numer linii
|-
|-
| 8 || WO || KOTRA || Rozkaz "koniec transmisji"
| 8 || WO || KOTRA || Rozkaz "koniec transmisji"
Linia 58: Linia 74:
|-
|-
| 15 || WO || INTR1 || Rozkaz "zgłoś przerwanie do MERA-400 (procesor 1)
| 15 || WO || INTR1 || Rozkaz "zgłoś przerwanie do MERA-400 (procesor 1)
|-
| 0x38 || WO || KOPRQ || pokwitowanie OPRQ
|-
| 0x4e || WO || WUUPG || ustawienie maski przerwań 'INTR'
|-
| 0x50 || RW || CLOCK || zegar
|-
| 0x51 || RW || CLDZI || dzielnik zegara (we=1536kHz)
|-
| 0x52 || RW || CLUSA || dzielnik dla USART (we=1536kHz, wy=153,6kHz)
|-
| 0x64-0x65 || RW || DMAD1 || DMA kanał 1: rejestr adresu
|-
| 0x66-0x67 || RW || DMCO1 || DMA kanał 1: licznik, typ pracy
|-
| 0x68-0x69 || RW || DMAD2 || DMA kanał 2: rejestr adresu
|-
| 0x6a-0x6b || RW || DMCO2 || DMA kanał 2: licznik, typ pracy
|-
| 0x6c-0x6d || RW || DMAD3 || DMA kanał 3: rejestr adresu
|-
| 0x6e-0x6f || RW || DMCO3 || DMA kanał 3: licznik, typ pracy
|-
| 0x70 || RW || DMAST || DMA: sterowanie
|-
| 0x80 || RW || INFTR || informacja do/z linii szeregowej
|-
| 0x81 || RW || INFST || status i sterowanie linii szeregowej
|-
| 0x80 || RW || PARIO || PORT A = parzysty nr. linii
|-
| 0x81 || RW || PARIO+1 || PORT B = nieparzysty nr. linii
|-
| 0x82 || RW || PARIO+2 || port C = sygnały handshake i gotowości
|-
| 0x83 || RO || PARIO+3 || sterowanie
|-
| ... || ... || ... || kolejne linie szeregowe/równoległe
|}
|}



Wersja z 11:49, 11 mar 2014

Dokumentacja techniczna MULTIX-a prawdopodobnie dziś już nie istnieje. Niniejsza strona jest próbą odtworzenia tego, jak MULTIX działał i jaka była jego architektura.

Sprzęt

MULTIX to komputer zbudowany w oparciu o procesor Intel 8085:

  • CPU: Intel 8085
  • Timer: Intel 8253
  • I/O równoległe: Intel 8255
  • I/O szeregowe: Intel 8251
  • DMA: Intel 8257
    • kanał 1: MERA-400
    • kanał 2: taśma
    • kanał 3: autoload
  • ROM (firmware) ?KB
  • RAM ?KB

Mapa pamięci

Adres Nazwa Zawartość
0x6000 RAM początek RAM
0x6000+154 STACK koniec stosu, początek dostępnej RAM
0xFF00 AD starszy bajt adresów we/wy widzianych jako pamięć

I/O

Adres Typ Nazwa Znaczenie
0 RO DANEI MSB dane odczytane z MERA-400
0 WO DANEO MSB dane do przesłania rozkazem "pisz do PAO"
1 RO DANEI+1 LSB dane odczytane z MERA-400
1 WO DANEO+1 LSB dane do przesłania rozkazem "pisz do PAO"
2 RO PSARG MSB argument polecenia sterującego
2 WO ADRES MSB adres w PAO MERA-400
3 RO PSARG+1 LSB argument polecenia sterującego
3 WO ADRES+1 LSB adres w PAO MERA-400
4 RO POLST specyfikacja polecenia sterującego
4 WO NBPN nr bloku PAO, nr procesora
5 RO POLST+1 ID linii
5 WO KWINT pokwitowanie przerwań
6 WO SPECI specyfikacja przerwania do MERA-400
7 WO SPECI+1 specyfikacja przerwania: numer linii
8 WO KOTRA Rozkaz "koniec transmisji"
10 WO PISZB Rozkaz "pisz blok przez DMA do MERA-400"
11 WO CZYTB Rozkaz "czytaj blok przez DMA z MERA-400"
12 WO PISZP Rozkaz "pisz do MERA-400"
13 WO CZYTP Rozkaz "czytaj z MERA-400"
14 WO INTR0 Rozkaz "zgłoś przerwanie do MERA-400 (procesor 0)
15 WO INTR1 Rozkaz "zgłoś przerwanie do MERA-400 (procesor 1)
0x38 WO KOPRQ pokwitowanie OPRQ
0x4e WO WUUPG ustawienie maski przerwań 'INTR'
0x50 RW CLOCK zegar
0x51 RW CLDZI dzielnik zegara (we=1536kHz)
0x52 RW CLUSA dzielnik dla USART (we=1536kHz, wy=153,6kHz)
0x64-0x65 RW DMAD1 DMA kanał 1: rejestr adresu
0x66-0x67 RW DMCO1 DMA kanał 1: licznik, typ pracy
0x68-0x69 RW DMAD2 DMA kanał 2: rejestr adresu
0x6a-0x6b RW DMCO2 DMA kanał 2: licznik, typ pracy
0x6c-0x6d RW DMAD3 DMA kanał 3: rejestr adresu
0x6e-0x6f RW DMCO3 DMA kanał 3: licznik, typ pracy
0x70 RW DMAST DMA: sterowanie
0x80 RW INFTR informacja do/z linii szeregowej
0x81 RW INFST status i sterowanie linii szeregowej
0x80 RW PARIO PORT A = parzysty nr. linii
0x81 RW PARIO+1 PORT B = nieparzysty nr. linii
0x82 RW PARIO+2 port C = sygnały handshake i gotowości
0x83 RO PARIO+3 sterowanie
... ... ... kolejne linie szeregowe/równoległe

Przerwania wewnętrzne

Przerwanie Nazwa Znaczenie Pokwitowanie
1 IKWIT MERA-400 przyjęła przerwanie zapis 1 DO "KWINT"
2 IZEGA zegar zapis "MODE" do "CLCON"
3 IOPRQ zgłoszenie OPRQ zapis "KOPRQ"
4.5 ITRAP dla testowania odczyt "PTRAP"
5.5 IPOST polecenie sterujące odczyt "POLST+1"
6 ITAP taśma magnetyczna odczyt specyfikacji
6.5 IKASE kaskada serial odczyt/zapis informacji
7 IKAPA kaskada parallel odczyt/zapis informacji
7.5 IDMA DMA odczyt DMAST

Przerwania do MERA-400

RKOIN EQU 32 ;ROZMIAR KOLEJKI PRZERWAN