Rejestry PBI

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 18:05, 14 sie 2008
KMK (Dyskusja | wkład)

← Previous diff
Aktualna wersja
KMK (Dyskusja | wkład)
(Strony D6/D7)
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 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>$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 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.</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.
 +<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> <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>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>
Linia 40: Linia 46:
==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 63: Linia 71:
[[Kategoria:Programowanie Atari 8-bit]] [[Kategoria:Programowanie Atari 8-bit]]
-[[Kategoria:Mapa pamięci]] 

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