Rejestry Multi I/O
From Atariki
(Różnice między wersjami)
Wersja z dnia 18:13, 6 kwi 2010 KMK (Dyskusja | wkład) ← Previous diff |
Aktualna wersja KMK (Dyskusja | wkład) (→Procedura dostępu) |
||
Linia 1: | Linia 1: | ||
==Procedura dostępu== | ==Procedura dostępu== | ||
- | Poniżej wymienione rejestry nie są dostępne wprost. Stają się dostępne po wybraniu urządzenia odpowiednim dla niego bitem w rejestrze [[Rejestry PBI#PDVREG|PDVREG ($D1FF)]]. System operacyjny komputera wykonuje to automatycznie przy każdym resecie (celem zainicjowania urządzeń) oraz przy odwołaniach do [[SIO]] (celem przeprowadzenia transferu danych). | + | Poniżej wymienione rejestry dostępne są zawsze, gdy [[Multi I/O]] jest podłączone do komputera - rejestr [[Rejestry PBI#PDVREG|PDVREG ($D1FF)]], teoretycznie służący do wyboru konkretnego urządzenia [[PBI]], służy w Multi I/O tylko jako rejestr wyboru banku ROM-u, jaki ma się pojawić w obszarze [[ROM PBI|ROM-u PBI]]. System operacyjny komputera wybiera je automatycznie przy każdym resecie (celem zainicjowania urządzeń) oraz przy odwołaniach do [[SIO]] (celem przeprowadzenia transferu danych). |
==Lista rejestrów== | ==Lista rejestrów== | ||
Linia 30: | Linia 30: | ||
<tr><td>$D1E0 (R)</td><td>SCSI RESET</td><td>Reset magistrali SCSI.</td></tr> | <tr><td>$D1E0 (R)</td><td>SCSI RESET</td><td>Reset magistrali SCSI.</td></tr> | ||
- | <tr><td>$D1E0 (W)</td><td>MIO0</td><td>Bity 15-8 adresu pamięci widocznej pod $D600.</td></tr> | + | <tr><td>$D1E0 (W)</td><td>MIORAM</td><td>Bity 15-8 adresu pamięci widocznej pod $D600.</td></tr> |
<tr><td>$D1E1</td><td>DATA</td><td>Rejestr danych.</td></tr> | <tr><td>$D1E1</td><td>DATA</td><td>Rejestr danych.</td></tr> | ||
- | <tr><td>$D1E2 (R)</td><td>GPIO</td><td>Rejestr wejściowy ogólnego przeznaczenia.</td></tr> | + | <tr><td>$D1E2 (R)</td><td>GPIO</td><td>Rejestr wejściowy ogólnego przeznaczenia: |
+ | * bit 7 = 1 - [http://en.wikipedia.org/wiki/Shugart_Associates_System_Interface#History SASI] REQ- | ||
+ | * bit 6 = 1 - drukarka zajęta | ||
+ | * bit 5 = 1 - SASI BUSY- | ||
+ | * bit 4 = 0 - błąd drukarki | ||
+ | * bit 3 - zarezerwowany | ||
+ | * bit 2 = 1 - SASI I/O- | ||
+ | * bit 1 = 1 - SASI MSG- | ||
+ | * bit 0 = 1 - SASI C/D- | ||
+ | <p>Odczyt kasuje sygnał RST-</p> | ||
+ | </td></tr> | ||
- | <tr><td>$D1E2 (W)</td><td>GPIO</td><td>Rejestr wyjściowy ogólnego przeznaczenia.</td></tr> | + | <tr><td>$D1E2 (W)</td><td>GPIO</td><td>Rejestr wyjściowy ogólnego przeznaczenia: |
+ | * bit 7 = 1 - włączenie przerwań [[IRQ]] pochodzących z Multi I/O | ||
+ | * bit 6 = 1 - ustawienie linii STROBE- | ||
+ | * bit 5 = 1 - włączenie dostępu do wewnętrznego [[RAM]]-u przez "okno" pod $D600-$D6FF | ||
+ | * bit 4 = 1 - ustawienie linii SEL- | ||
+ | <p>Bity 3-0 odpowiadają bitom 19-16 adresu wewnętrznej pamięci RAM Multi I/O (lub inaczej, numerowi banku 64k tej pamięci).</p> | ||
+ | </td></tr> | ||
<tr><td>$D1E3 (R)</td><td>MIO CTRL</td><td>Rejestr-cień [[Rejestry PBI#PDVINT|PDVINT ($D1FF)]]: | <tr><td>$D1E3 (R)</td><td>MIO CTRL</td><td>Rejestr-cień [[Rejestry PBI#PDVINT|PDVINT ($D1FF)]]: | ||
Linia 57: | Linia 73: | ||
</table> | </table> | ||
- | ==Zobacz też:== | + | ==Zobacz też== |
* [[Multi I/O]] | * [[Multi I/O]] | ||
* [[Mapa pamięci]] | * [[Mapa pamięci]] | ||
[[Kategoria:Programowanie Atari 8-bit]] | [[Kategoria:Programowanie Atari 8-bit]] |
Aktualna wersja
[Edytuj]
Procedura dostępu
Poniżej wymienione rejestry dostępne są zawsze, gdy Multi I/O jest podłączone do komputera - rejestr PDVREG ($D1FF), teoretycznie służący do wyboru konkretnego urządzenia PBI, służy w Multi I/O tylko jako rejestr wyboru banku ROM-u, jaki ma się pojawić w obszarze ROM-u PBI. System operacyjny komputera wybiera je automatycznie przy każdym resecie (celem zainicjowania urządzeń) oraz przy odwołaniach do SIO (celem przeprowadzenia transferu danych).
[Edytuj]
Lista rejestrów
Adres | Etykieta | Opis |
$D1C0 (R) | ACIA RECEIVE | Port wejściowy układu ACIA. |
$D1C0 (W) | ACIA TRANSMIT | Port wyjściowy układu ACIA. |
$D1C1 (R) | ACIA STATUS | Rejestr statusu ACIA:
Odczyt kasuje stan IRQ. |
$D1C1 (W) | ACIA RESET | Reset układu ACIA. Zapisywana wartość jest obojętna. |
$D1C2 | ACIA COMMAND | Rejestr komend układu ACIA. |
$D1C3 | ACIA CONTROL | Rejestr kontrolny układu ACIA. |
$D1E0 (R) | SCSI RESET | Reset magistrali SCSI. |
$D1E0 (W) | MIORAM | Bity 15-8 adresu pamięci widocznej pod $D600. |
$D1E1 | DATA | Rejestr danych. |
$D1E2 (R) | GPIO | Rejestr wejściowy ogólnego przeznaczenia:
Odczyt kasuje sygnał RST- |
$D1E2 (W) | GPIO | Rejestr wyjściowy ogólnego przeznaczenia:
Bity 3-0 odpowiadają bitom 19-16 adresu wewnętrznej pamięci RAM Multi I/O (lub inaczej, numerowi banku 64k tej pamięci). |
$D1E3 (R) | MIO CTRL | Rejestr-cień PDVINT ($D1FF):
Pozostałe bity są zarezerwowane i równe 0. |
$D1E3 (W) | MIO CTRL | Rejestr-cień PDVREG ($D1FF):
Pozostałe bity są zarezerwowane. |
[Edytuj]