MULTIX od środka

Z MERA 400 wiki
Przejdź do nawigacji Przejdź do wyszukiwania

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
  • I/O floppy:
    • kontroler Zilog Z0765A08PSC + Intel 8257
    • pamięć Hitachi HM6264LP 8KB static RAM (150ns)
  • I/O winchester:
    • kontroler Intel C82062
    • pamięć: Hitachi HM6264LP 8KB static RAM (150ns)
  • 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
0xa000 RAMW8 początek RAM dla floppy dysku ?
0xc000 RAMW6 początek RAM dla winchestera ?
0xFF00-0xFFFF AD we/wy widziane 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

Kolejka przerwań wysyłanych z MULTIX-a do MERY-400 ma długość 32.