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

Z MERA 400 wiki
Przejdź do nawigacji Przejdź do wyszukiwania
Linia 27: Linia 27:
! Adres !! Nazwa !! Zawartość
! Adres !! Nazwa !! Zawartość
|-
|-
| 0x6000 || RAM || początek RAM
| 0x0000-0x5fff ||  || ROM? (24KB)
|-
| 0x6000 || RAM || RAM (16KB?)
|-
|-
| 0x6000+154 || STACK || koniec stosu, początek dostępnej RAM
| 0x6000+154 || STACK || koniec stosu, początek dostępnej RAM
|-
|-
| 0xa000 || RAMW8 || początek RAM dla floppy dysku ?
| 0xa000-0xbfff || RAMW8 || RAM floppy dysku (8KB)
|-
|-
| 0xc000 || RAMW6 || początek RAM dla winchestera ?
| 0xc000-0xdfff || RAMW6 || RAM winchestera (8KB)
|-
|-
| 0xFF00-0xFFFF || AD || we/wy widziane jako pamięć
| 0xff00-0xffff || AD || we/wy widziane jako pamięć
|}
|}



Wersja z 12:45, 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
  • 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ść
0x0000-0x5fff ROM? (24KB)
0x6000 RAM RAM (16KB?)
0x6000+154 STACK koniec stosu, początek dostępnej RAM
0xa000-0xbfff RAMW8 RAM floppy dysku (8KB)
0xc000-0xdfff RAMW6 RAM winchestera (8KB)
0xff00-0xffff AD we/wy widziane jako pamięć

I/O

Adres R/W Nazwa Znaczenie
0-1 R DANEI dane odczytane z MERA-400 (MSB, LSB)
0-1 W DANEO dane do przesłania rozkazem "pisz do PAO" (MSB, LSB)
2-3 R PSARG argument polecenia sterującego (MSB, LSB)
2-3 W ADRES adres w PAO MERA-400 (MSB, LSB)
4 R POLST specyfikacja polecenia sterującego
4 W NBPN nr bloku PAO, nr procesora
5 R POLST+1 ID linii
5 W KWINT pokwitowanie przerwań
6 W SPECI specyfikacja przerwania do MERA-400
7 W SPECI+1 specyfikacja przerwania: numer linii
8 W KOTRA Rozkaz "koniec transmisji"
10 W PISZB Rozkaz "pisz blok przez DMA do MERA-400"
11 W CZYTB Rozkaz "czytaj blok przez DMA z MERA-400"
12 W PISZP Rozkaz "pisz do MERA-400"
13 W CZYTP Rozkaz "czytaj z MERA-400"
14 W INTR0 Rozkaz "zgłoś przerwanie do MERA-400 (procesor 0)
15 W INTR1 Rozkaz "zgłoś przerwanie do MERA-400 (procesor 1)
0x38 W KOPRQ pokwitowanie OPRQ
0x4e W 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 R 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.