IRQ
From Atariki
Interrupt ReQuest - przerwanie maskowalne (a właściwie prośba o przerwanie)
Rodzaj przerwania, które procesor może zignorować, jeśli programista sobie tego zażyczy; a to w odróżnieniu od NMI, które zignorowane być nie może.
Spis treści | 
Atari XL/XE
W procesorze 6502 i 65C02 główny wektor przerwania IRQ znajduje się pod adresem $FFFE.
W procesorze 65C816 wektor ten jest pod $00FFFE, kiedy procesor jest w trybie emulacji 6502. W trybie natywnym 65C816 adres procedury obsługi IRQ pobierany jest spod $00FFEE.
Źródłem przerwań IRQ jest:
- układ POKEY (przerwania związane z transmisją SIO, przerwania klawiatury, liczników)
 - układ PIA (sygnały przerwań wyprowadzone na gniazdo SIO)
 - szyna równoległa (przerwania nowych urządzeń)
 
Po ustawieniu znacznika I w rejestrze stanu procesora obsługa IRQ jest odroczona do chwili gdy I z powrotem będzie skasowany. Od blokady przerwań różni się to tym, że wszystkie flagi wystąpienia przerwania w rejestrach sprzętowych ciągle odzwierciedlają swój prawidłowy stan, dzięki czemu możliwy jest polling. Prawdziwa blokada przerwania odbywa się tylko w rejestrze sprzętowym.
Priorytety IRQ
W procesorach 6502, 65C02 i 65C816 nie ma żadnej koncepcji priorytetów przerwań, ustala je OS na drodze programowej kontrolując po kolei wszystkie możliwe źródła wystąpienia IRQ. W Atari priorytet obsługi jest następujący (w kolejności od najwyższego do najniższego):
- SERIN - Serial Input - przerwanie odczytu danych z szyny szeregowej - wektor VSERIN ($20A)
 - PIRQ - Parallel IRQ - przerwanie wywołane przez nowe urządzenia (tylko XL/XE) - wektor VPIRQ ($238)
 - SEROUT - Serial Output - przerwanie zapisu na szynę szeregową - wektor VSEROR ($20C)
 - XMTDONE - Transmit Done - przerwanie końca transmisji szeregowej - wektor VSEROC ($20E)
 - TIMER1 - przerwanie zegara nr 1 układu POKEY - wektor VTIMR1 ($210)
 - TIMER2 - przerwanie zegara nr 2 układu POKEY - wektor VTIMR2 ($212)
 - TIMER4 - przerwanie zegara nr 4 układu POKEY - wektor VTIMR4 ($214)
 - KBDIRQ - Keyboard IRQ - przerwanie klawiatury - wektor VKEYBD ($208)
 - BREAKIRQ - Break key IRQ - przerwanie klawisza Break - wektor VBRKKY ($236)
 - PROCEED - przerwanie wywołane przez PORT A układu PIA - sygnał ten wyprowadzony jest na gniazdo SIO jako pin PROCEED - wektor VPRCED ($202)
 - INTER - przerwanie wywołane przez PORT B układu PIA - sygnał ten wyprowadzony jest na gniazdo SIO jako pin INTERRUPT - wektor VINTER ($204)
 - BRKIRQ - Break IRQ - przerwanie programowe wywołane rozkazem BRK - wektor VBREAK ($206)
 
Wektor głównej procedury obsługi IRQ znajduje się w VIMIRQ ($216).
BRK w trybie natywnym 65C816
W 65C816 rozkaz BRK powoduje wystąpienie przerwania IRQ tylko wtedy, kiedy procesor jest w trybie emulacji 6502. W trybie natywnym przerwanie BRK ma osobny wektor (pod adresem $00FFE6).
Rozszerzenia
Dodatkowe przerwania IRQ mogą być generowane przez:
