SIO

From Atariki

Revision as of 23:07, 8 gru 2004; view current revision
←Older revision | Newer revision→
Jump to: navigation, search

SIO - Serial Input/Output. W założeniach jest to rezydujący w ROM-ie podsystem niskopoziomowych procedur blokowego dostępu do urządzeń szeregowych.

W serii XL do podsystemu SIO dodano także niskopoziomową (blokową) obsługę urządzeń podłączanych do szyny równoległej (PBI), czyli tak zwanych nowych urządzeń.

Sposób użycia

Żądaną operację definiuje się ustawiwszy przedtem odpowiednie zmienne w bloku DCB (Device Control Block, $0300), a nastepnie wywołuje skokiem JSR pod JSIOINT $E459, co jest punktem wejściowym interfejsu szeregowo-równoległego. Przy powrocie rejestr Y zawiera wartość 1 w przypadku powodzenia, bądź ujemny kod błędu.

Struktura DCB:

AdresEtykietaWielkośćZnaczenie
$0300DDEVICbajtIdentyfikator urządzenia. W przypadku stacji dysków trzeba podać identyfikator zwiększony o 1!
$0301DUNITbajtNumer urządzenia; w przypadku stacji dysków numer napędu.
$0302DCMNDbajtKomenda dla urządzenia.
$0303DSTATSbajtPrzed wywołaniem SIO należy ustawić tu rodzaj operacji ($40 odczyt, $80 zapis). Po powrocie z systemu znajduje się tu status operacji (kod błędu).
$0304DBUFADwa bajtyAdres bufora.
$0306DTIMLOBajtCzas oczekiwania na pozytywną odpowiedź urządzenia.
$0307DUNUSEBajtBajt nieużywany, zarezerwowany do przyszłych zastosowań.
$0308DBYTDwa bajtyWielkość bufora; musi być zgodna z wielkością transmitowanego bloku danych.
$030ADAUX1BajtPierwszy bajt pomocniczy. W operacjach dyskowych młodszy bajt numeru sektora.
$030BDAUX2BajtDrugi bajt pomocniczy. W operacjach dyskowych starszy bajt numeru sektora.

Interfejs SIO znajdujący się w ROM-ie rozpoznaje cztery predefiniowane urządzenia:

  • $30: dyskową pamięć masową (stację dysków, twardy dysk)
  • $40: drukarkę
  • $50: interfejs RS-232
  • $60: magnetofon kasetowy

przy czym identyfikator urządzenia to górne 4 bity podanego kodu, dolne natomiast 4 bity stanowi indywidualny numer urządzenia (np. $31 - stacja dysków nr 1, $32 - stacja dysków nr 2 itd.).

Personal tools