Rejestry PBI
From Atariki
Wersja z dnia 12:52, 21 wrz 2005 KMK (Dyskusja | wkład) (→Strona D1) ← 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), przy czym strona D1 przeznaczona jest dla samych urządzeń, natomiast strony D6 i D7 dla zarządzającego nimi [[Atari 1090|''expansion box'']] (modułu zawierającego sloty i stanowiącego rodzaj inteligentnego rozgałęziacza PBI). | + | 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== | ==Strona D1== | ||
Linia 7: | Linia 7: | ||
<tr><td colspan = 2><center><b>Strona D1</b></center></td></tr> | <tr><td colspan = 2><center><b>Strona D1</b></center></td></tr> | ||
- | <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 KMK/JŻ IDE]] | ||
* [[Rejestry msc 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 33: | 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 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.</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> | </table> | ||
==Strony D6/D7== | ==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> | <table border = 1 cellpadding = 5> | ||
<tr><td><b>Adres</b></td><td><b>Opis</b></td></tr> | <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 60: | Linia 70: | ||
* ''1090 XL Expansion Box Specification, 7/27/83'' (Atari Company Confidential doc.) | * ''1090 XL Expansion Box Specification, 7/27/83'' (Atari Company Confidential doc.) | ||
- | [[Kategoria:Atari 8-bit]] | + | [[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
Adres | Opis |
Strona D1 | |
$D100-$D1AF | 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).
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-$D1C7 | Obszar przeznaczony na rejestry syntezatora mowy, modemu i kontrolera stacji dysków w 1450XLD. |
$D1C8-$D1CE | Zarezerwowane przez Atari. |
$D1CF | 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. |
$D1D0-$D1DF | Rejestry audio. |
$D1E0-$D1E7 | Zarezerwowane przez Atari. |
$D1E8-$D1EF | Rejestry portu szeregowego (RS-232) i równoległego (Centronics) |
$D1F0-$D1F7 | Rejestry dodatkowego procesora. |
$D1F8-$D1FD | Rejestry 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. |
$D1FE | Rejestr 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).
Adres | Opis |
Strona D6 | |
$D600-$D61F | Dodatkowa przestrzeń adresowa urządzenia PBI (slotu) nr 0 |
$D620-$D63F | Dodatkowa przestrzeń adresowa PBI (slotu) nr 1 |
$D640-$D65F | Dodatkowa przestrzeń adresowa PBI (slotu) nr 2 |
$D660-$D67F | Dodatkowa przestrzeń adresowa PBI (slotu) nr 3 |
$D680-$D69F | Dodatkowa przestrzeń adresowa PBI (slotu) nr 4 |
$D6A0-$D6BF | Dodatkowa przestrzeń adresowa PBI (slotu) nr 5 |
$D6C0-$D6DF | Dodatkowa przestrzeń adresowa PBI (slotu) nr 6 |
$D6E0-$D6FF | Dodatkowa przestrzeń adresowa PBI (slotu) nr 7 |
Strona D7 | |
$D700-$D7FF | Zarezerwowane 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.)