Rejestry PBI

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 08:06, 4 mar 2005
KMK (Dyskusja | wkład)

← Previous diff
Aktualna wersja
KMK (Dyskusja | wkład)
(Strony D6/D7)
Linia 1: Linia 1:
-Strony D1 (adresy $D100-$D1FF), D6 ($D600-$D6FF) i D7 ($D700-$D7FF) są w Atari XL/XE zarezerwowane dla urządzeń podłączonych do szyny równoległej (PBI). Zgodnie ze specyfikacją Atari przypisanie adresów jest następujące:+Strony D1 (adresy $D100-$D1FF), D6 ($D600-$D6FF) i D7 ($D700-$D7FF) są w Atari [[XL]]/[[XE]] zarezerwowane dla [[nowe urządzenia|nowych urządzeń]] podłączonych do szyny równoległej ([[PBI]]), przy czym strona D1 przeznaczona jest dla samych urządzeń, natomiast strony D6 i D7 dla zarządzającego nimi [[1090|''expansion box'']] (modułu zawierającego sloty i stanowiącego rodzaj inteligentnego rozgałęziacza PBI).
 + 
 +==Strona D1==
<table border = 1 cellpadding = 5> <table border = 1 cellpadding = 5>
Linia 6: Linia 8:
<tr><td>$D100-$D1AF</td><td>Obszar przeznaczony na rejestry poszczególnych urządzeń. Pojawienie się rejestrów konkretnego urządzenia pod tym adresami warunkowane jest wybraniem tego urządzenia przez rejestr PDVREG ($D1FF/W). <tr><td>$D100-$D1AF</td><td>Obszar przeznaczony na rejestry poszczególnych urządzeń. Pojawienie się rejestrów konkretnego urządzenia pod tym adresami warunkowane jest wybraniem tego urządzenia przez rejestr PDVREG ($D1FF/W).
 +* [[Rejestry Karin Maxi]]
 +* [[Rejestry KMK/JŻ IDE]]
 +* [[Rejestry msc IDE]]
 +* [[Rejestry Multi I/O]]
 +* [[Rejestry Votrax SC01-A]]
 +<p>We wczesnych wersjach [[Karin Maxi]] rejestry urządzenia "widać" niezależnie od stanu rejestru PDVREG. Powoduje to, że taki interfejs nawet w teorii nie może współpracować z innymi urządzeniami tego typu.</p>
</td></tr> </td></tr>
<tr><td colspan = 2></td></tr> <tr><td colspan = 2></td></tr>
-<tr><td>$D1B0-$D1C7</td><td>Obszar przeznaczony na rejestry syntezatora mowy, modemu i kontrolera stacji dysków.</td></tr>+<tr><td>$D1B0-$D1C7</td><td>Obszar przeznaczony na rejestry syntezatora mowy, modemu i kontrolera stacji dysków w [[1450XLD]].</td></tr>
<tr><td colspan = 2></td></tr> <tr><td colspan = 2></td></tr>
<tr><td>$D1C8-$D1CE</td><td>Zarezerwowane przez Atari.</td></tr> <tr><td>$D1C8-$D1CE</td><td>Zarezerwowane przez Atari.</td></tr>
<tr><td colspan = 2></td></tr> <tr><td colspan = 2></td></tr>
-<tr><td>$D1CF</td><td>Alternate Interrupt Register - w komputerze 1450XLD rejestr, przez który urządzenia PBI mogą zgłaszać przerwania alternatywnie do PDVINT ($D1FF/R). Znaczenie poszczególnych bitów jest takie samo w obydwu.</td></tr>+<tr><td>$D1CF</td><td>Alternate Interrupt Register - w komputerze 1450XLD rejestr, przez który wewnętrzne urządzenia PBI mogą zgłaszać przerwania zamiast w PDVINT ($D1FF/R). Znaczenie poszczególnych bitów jest takie samo w obydwu.</td></tr>
<tr><td colspan = 2></td></tr> <tr><td colspan = 2></td></tr>
<tr><td>$D1D0-$D1DF</td><td>Rejestry audio.</td></tr> <tr><td>$D1D0-$D1DF</td><td>Rejestry audio.</td></tr>
Linia 22: Linia 30:
<tr><td>$D1F0-$D1F7</td><td>Rejestry dodatkowego procesora.</td></tr> <tr><td>$D1F0-$D1F7</td><td>Rejestry dodatkowego procesora.</td></tr>
<tr><td colspan = 2></td></tr> <tr><td colspan = 2></td></tr>
-<tr><td>$D1F8-$D1FD</td><td>Rejestry karty 80-kolumnowej:</td></tr>+<tr><td>$D1F8-$D1FD</td><td>Rejestry [[1090 card - 80 Column Display|karty 80-kolumnowej]].</td></tr>
<tr><td>$D1FA (W)</td><td>Rejestr wyboru wewnętrznego rejestru karty. Rejestrów tych jest od 11 do 20 (nie wiadomo - handler zapisuje 20 bajtów, z tego 9 ostatnich to zera). Wybór odbywa się przez ustawienie tu wartości z zakresu od 0 do 19.</td></tr> <tr><td>$D1FA (W)</td><td>Rejestr wyboru wewnętrznego rejestru karty. Rejestrów tych jest od 11 do 20 (nie wiadomo - handler zapisuje 20 bajtów, z tego 9 ostatnich to zera). Wybór odbywa się przez ustawienie tu wartości z zakresu od 0 do 19.</td></tr>
<tr><td>$D1FB (W)</td><td>Port do przesyłania danych do wewnętrznego rejestru karty, wybranego przez $D1FA.</td></tr> <tr><td>$D1FB (W)</td><td>Port do przesyłania danych do wewnętrznego rejestru karty, wybranego przez $D1FA.</td></tr>
Linia 29: Linia 37:
<tr><td>$D1FE</td><td>Rejestr wyboru banku RAM.</td></tr> <tr><td>$D1FE</td><td>Rejestr wyboru banku RAM.</td></tr>
<tr><td colspan = 2></td></tr> <tr><td colspan = 2></td></tr>
-<tr><td>$D1FF (W)</td><td>PDVREG - rejestr wyboru urządzenia PBI. Ustawienie każdego bitu włącza jedno urządzenie, z czego wynika, że do szyny może być podpiętych jednocześnie do ośmiu urządzeń, i że można na raz ustawić tylko jeden bit tego rejestru.</td></tr>+<tr><td id="PDVREG">$D1FF (W)</td><td>PDVREG - rejestr wyboru urządzenia PBI. Ustawienie każdego bitu aktywuje ROM odpowiedniego urządzenia w obszarze $D800-$DFFF oraz jego rejestry w obszarze $D100-$D1AF. Wynika z tego, że do szyny może być podpiętych jednocześnie do ośmiu urządzeń i że należy jednocześnie ustawiać tylko jeden bit tego rejestru.
-<tr><td>$D1FF (R)</td><td>PDVINT - rejestr zgłaszania przerwań przez urządzenia PBI. Znaczenie bitów jest takie samo, jak w PDVREG.</td></tr>+<p>Niektóre urządzenia (np. [[Multi I/O]]) zajmują wszystkie bity rejestru, przez co nie mogą - nawet teoretycznie - współpracować z innymi peryferiami tego typu.</p>
 +</td></tr>
 +<tr><td id="PDVINT">$D1FF (R)</td><td><p>PDVINT - rejestr zgłaszania przerwań przez zewnętrzne urządzenia PBI. W przypadku urządzeń generujących sygnały przerwań ustawienie pojedynczego bitu tego rejestru oznacza, że odpowiadające mu urządzenie zgłasza przerwanie [[IRQ]]. Przypisanie bitów do urządzeń jest takie samo, jak w PDVREG.</p>
 +<p>Jeśli urządzenie generuje przerwania i życzy sobie wywołania procedury jego obsługi, powinno podczas inicjowania systemu ustawić odpowiedni (czyli "swój") bit rejestru PINTMSK $0249, w innym wypadku zgłoszone tu przerwanie zostanie przez system zignorowane. Sygnałem potwierdzenia odbioru przerwania jest zapis rejestru PDVREG z ustawionym bitem odpowiadającym urządzeniu, które zgłosiło przerwanie.</p>
 +<p>Przerwanie generowane przez urządzenia szyny równoległej ma bardzo wysoki priorytet obsługi, wyższy ma tylko przerwanie odczytu ze złącza szeregowego.</p></td></tr>
 +</table>
 + 
 +==Strony D6/D7==
 + 
 +<p>W obecności zewnętrznego adaptera urządzeń PBI (Extension Box Interface, [[1090]]), strony D6 i D7 są zawsze zmapowane na niego i nie wymagają wyboru oddzielnym rejestrem. Gdy moduł 1090 jest odłączony, w [[600XL]], [[800XL]] oraz [[XE]] te strony są puste; natomiast w [[1400XL]] i [[1450XLD]] zawierają łącznie 512 bajtów pamięci RAM do wykorzystania przez wewnętrzne urządzenia PBI (modem, syntezator mowy i stacje dysków).</p>
 + 
 +<table border = 1 cellpadding = 5>
 +<tr><td><b>Adres</b></td><td><b>Opis</b></td></tr>
<tr><td colspan = 2><center><b>Strona D6</b></center></td></tr> <tr><td colspan = 2><center><b>Strona D6</b></center></td></tr>
-<tr><td>$D600-$D61F</td><td>Dodatkowe rejestry urządzenia PBI (slotu) nr 0</td></tr>+<tr><td>$D600-$D61F</td><td>Dodatkowa przestrzeń adresowa urządzenia PBI (slotu) nr 0</td></tr>
-<tr><td>$D620-$D63F</td><td>Dodatkowe rejestry urządzenia PBI (slotu) nr 1</td></tr>+<tr><td>$D620-$D63F</td><td>Dodatkowa przestrzeń adresowa PBI (slotu) nr 1</td></tr>
-<tr><td>$D640-$D65F</td><td>Dodatkowe rejestry urządzenia PBI (slotu) nr 2</td></tr>+<tr><td>$D640-$D65F</td><td>Dodatkowa przestrzeń adresowa PBI (slotu) nr 2</td></tr>
-<tr><td>$D660-$D67F</td><td>Dodatkowe rejestry urządzenia PBI (slotu) nr 3</td></tr>+<tr><td>$D660-$D67F</td><td>Dodatkowa przestrzeń adresowa PBI (slotu) nr 3</td></tr>
-<tr><td>$D680-$D69F</td><td>Dodatkowe rejestry urządzenia PBI (slotu) nr 4</td></tr>+<tr><td>$D680-$D69F</td><td>Dodatkowa przestrzeń adresowa PBI (slotu) nr 4</td></tr>
-<tr><td>$D6A0-$D6BF</td><td>Dodatkowe rejestry urządzenia PBI (slotu) nr 5</td></tr>+<tr><td>$D6A0-$D6BF</td><td>Dodatkowa przestrzeń adresowa PBI (slotu) nr 5</td></tr>
-<tr><td>$D6C0-$D6DF</td><td>Dodatkowe rejestry urządzenia PBI (slotu) nr 6</td></tr>+<tr><td>$D6C0-$D6DF</td><td>Dodatkowa przestrzeń adresowa PBI (slotu) nr 6</td></tr>
-<tr><td>$D6E0-$D6FF</td><td>Dodatkowe rejestry urządzenia PBI (slotu) nr 7</td></tr>+<tr><td>$D6E0-$D6FF</td><td>Dodatkowa przestrzeń adresowa PBI (slotu) nr 7</td></tr>
<tr><td colspan = 2><center><b>Strona D7</b></center></td></tr> <tr><td colspan = 2><center><b>Strona D7</b></center></td></tr>
-<tr><td>$D700-$D7FF</td><td>Zarezerwowane przez Atari. Strony D6 i D7 są zawsze zmapowane na zewnętrzny adapter urządzeń PBI (Extension Box Interface) i nie wymagają wyboru oddzielnym rejestrem.</td></tr>+<tr><td>$D700-$D7FF</td><td>Zarezerwowane przez Atari.</td></tr>
</table> </table>
Linia 48: Linia 68:
* A.Chopra, ''Parallel Bus Interface Specifications, draft, 2/3/83'' (Atari Company Confidential doc.) * A.Chopra, ''Parallel Bus Interface Specifications, draft, 2/3/83'' (Atari Company Confidential doc.)
* Steve Miller, A. Chopra, ''Parallel Bus Interface Specification, 4/XX/83'' (Atari Company Confidential doc.) * Steve Miller, A. Chopra, ''Parallel Bus Interface Specification, 4/XX/83'' (Atari Company Confidential doc.)
-* ''1090XL Expansion Box Specification, 7/27/83'' (Atari Company Confidential doc.)+* ''1090 XL Expansion Box Specification, 7/27/83'' (Atari Company Confidential doc.)
 + 
 +[[Kategoria:Programowanie Atari 8-bit]]

Aktualna wersja

Strony D1 (adresy $D100-$D1FF), D6 ($D600-$D6FF) i D7 ($D700-$D7FF) są w Atari XL/XE zarezerwowane dla nowych urządzeń podłączonych do szyny równoległej (PBI), przy czym strona D1 przeznaczona jest dla samych urządzeń, natomiast strony D6 i D7 dla zarządzającego nimi expansion box (modułu zawierającego sloty i stanowiącego rodzaj inteligentnego rozgałęziacza PBI).

Strona D1

AdresOpis
Strona D1
$D100-$D1AFObszar przeznaczony na rejestry poszczególnych urządzeń. Pojawienie się rejestrów konkretnego urządzenia pod tym adresami warunkowane jest wybraniem tego urządzenia przez rejestr PDVREG ($D1FF/W).

We wczesnych wersjach Karin Maxi rejestry urządzenia "widać" niezależnie od stanu rejestru PDVREG. Powoduje to, że taki interfejs nawet w teorii nie może współpracować z innymi urządzeniami tego typu.

$D1B0-$D1C7Obszar przeznaczony na rejestry syntezatora mowy, modemu i kontrolera stacji dysków w 1450XLD.
$D1C8-$D1CEZarezerwowane przez Atari.
$D1CFAlternate Interrupt Register - w komputerze 1450XLD rejestr, przez który wewnętrzne urządzenia PBI mogą zgłaszać przerwania zamiast w PDVINT ($D1FF/R). Znaczenie poszczególnych bitów jest takie samo w obydwu.
$D1D0-$D1DFRejestry audio.
$D1E0-$D1E7Zarezerwowane przez Atari.
$D1E8-$D1EFRejestry portu szeregowego (RS-232) i równoległego (Centronics)
$D1F0-$D1F7Rejestry dodatkowego procesora.
$D1F8-$D1FDRejestry karty 80-kolumnowej.
$D1FA (W)Rejestr wyboru wewnętrznego rejestru karty. Rejestrów tych jest od 11 do 20 (nie wiadomo - handler zapisuje 20 bajtów, z tego 9 ostatnich to zera). Wybór odbywa się przez ustawienie tu wartości z zakresu od 0 do 19.
$D1FB (W)Port do przesyłania danych do wewnętrznego rejestru karty, wybranego przez $D1FA.
$D1FC (W)Starszy bajt adresu pamięci ekranu.
$D1FERejestr wyboru banku RAM.
$D1FF (W)PDVREG - rejestr wyboru urządzenia PBI. Ustawienie każdego bitu aktywuje ROM odpowiedniego urządzenia w obszarze $D800-$DFFF oraz jego rejestry w obszarze $D100-$D1AF. Wynika z tego, że do szyny może być podpiętych jednocześnie do ośmiu urządzeń i że należy jednocześnie ustawiać tylko jeden bit tego rejestru.

Niektóre urządzenia (np. Multi I/O) zajmują wszystkie bity rejestru, przez co nie mogą - nawet teoretycznie - współpracować z innymi peryferiami tego typu.

$D1FF (R)

PDVINT - rejestr zgłaszania przerwań przez zewnętrzne urządzenia PBI. W przypadku urządzeń generujących sygnały przerwań ustawienie pojedynczego bitu tego rejestru oznacza, że odpowiadające mu urządzenie zgłasza przerwanie IRQ. Przypisanie bitów do urządzeń jest takie samo, jak w PDVREG.

Jeśli urządzenie generuje przerwania i życzy sobie wywołania procedury jego obsługi, powinno podczas inicjowania systemu ustawić odpowiedni (czyli "swój") bit rejestru PINTMSK $0249, w innym wypadku zgłoszone tu przerwanie zostanie przez system zignorowane. Sygnałem potwierdzenia odbioru przerwania jest zapis rejestru PDVREG z ustawionym bitem odpowiadającym urządzeniu, które zgłosiło przerwanie.

Przerwanie generowane przez urządzenia szyny równoległej ma bardzo wysoki priorytet obsługi, wyższy ma tylko przerwanie odczytu ze złącza szeregowego.

Strony D6/D7

W obecności zewnętrznego adaptera urządzeń PBI (Extension Box Interface, 1090), strony D6 i D7 są zawsze zmapowane na niego i nie wymagają wyboru oddzielnym rejestrem. Gdy moduł 1090 jest odłączony, w 600XL, 800XL oraz XE te strony są puste; natomiast w 1400XL i 1450XLD zawierają łącznie 512 bajtów pamięci RAM do wykorzystania przez wewnętrzne urządzenia PBI (modem, syntezator mowy i stacje dysków).

AdresOpis
Strona D6
$D600-$D61FDodatkowa przestrzeń adresowa urządzenia PBI (slotu) nr 0
$D620-$D63FDodatkowa przestrzeń adresowa PBI (slotu) nr 1
$D640-$D65FDodatkowa przestrzeń adresowa PBI (slotu) nr 2
$D660-$D67FDodatkowa przestrzeń adresowa PBI (slotu) nr 3
$D680-$D69FDodatkowa przestrzeń adresowa PBI (slotu) nr 4
$D6A0-$D6BFDodatkowa przestrzeń adresowa PBI (slotu) nr 5
$D6C0-$D6DFDodatkowa przestrzeń adresowa PBI (slotu) nr 6
$D6E0-$D6FFDodatkowa przestrzeń adresowa PBI (slotu) nr 7
Strona D7
$D700-$D7FFZarezerwowane przez Atari.

Bibliografia

  • A.Chopra, Parallel Bus Interface Specifications, draft, 2/3/83 (Atari Company Confidential doc.)
  • Steve Miller, A. Chopra, Parallel Bus Interface Specification, 4/XX/83 (Atari Company Confidential doc.)
  • 1090 XL Expansion Box Specification, 7/27/83 (Atari Company Confidential doc.)
Personal tools