; Copyright 2008 Castle Technology Ltd
;
; Licensed under the Apache License, Version 2.0 (the "License");
; you may not use this file except in compliance with the License.
; You may obtain a copy of the License at
;
;     http://www.apache.org/licenses/LICENSE-2.0
;
; Unless required by applicable law or agreed to in writing, software
; distributed under the License is distributed on an "AS IS" BASIS,
; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
; See the License for the specific language governing permissions and
; limitations under the License.
;
; This header file is autogenerated from the files maintained by the
; RISC OS allocations manager and should not be edited by anyone else.

 SUBT Device Numbers for new IRQ handling ; => &.Hdr.DevNos

OldOpt SETA {OPT}
       OPT OptNoList+OptNoP1List

; **********************
; ***  Changes List  ***
; **********************
;
; 15-Feb-91 DDV Added IOEB devices.
; 20-May-93 SMC Added IOMD devices.
; 26-Oct-94 RCM Added IOMD (Morris) devices.
; 06-Feb-96 SMC Added IOMD (Morris) IRQC devices.
;               Also changed IOMD_Event2_DevNo (which was 25) to 26.
; 25-Oct-99 KJB Added alternative IOMD device numbering.
;

; IOC device numbers

PrinterBusy_DevNo               * 0
Ringing_DevNo                   * 1
PrinterAck_DevNo                * 2
VSync_DevNo                     * 3
PowerOn_DevNo                   * 4
Timer0_DevNo                    * 5
Timer1_DevNo                    * 6
FIQDowngrade_DevNo              * 7
PFIQasIRQ_DevNo                 * 8
Sound_DevNo                     * 9
Serial_DevNo                    * 10
WinnieIRQ_DevNo                 * 11
DiscChanged_DevNo               * 12
Podule_DevNo                    * 13
SerialTx_DevNo                  * 14
SerialRx_DevNo                  * 15

; IOEB device numbers

IOEB_PrinterIRQ_DevNo           * 0
IOEB_BatteryLow_DevNo           * 1
IOEB_FloppyIndex_DevNo          * 2
IOEB_VSync_DevNo                * 3
IOEB_PowerOn_DevNo              * 4
IOEB_Timer0_DevNo               * 5
IOEB_Timer1_DevNo               * 6
; device 7 is unused on IOEB
; device 8 is unused on IOEB
IOEB_Sound_DevNo                * 9
IOEB_Serial_DevNo               * 10
IOEB_Floppy_DevNo               * 11
IOEB_IDE_DevNo                  * 12
IOEB_Podule_DevNo               * 13
IOEB_SerialTx_DevNo             * 14
IOEB_SerialRx_DevNo             * 15

; IOMD device numbers
; Traditional desktop system scheme

IOMD_PrinterIRQ_DevNo           * 0
; device 1 is unused on IOMD
IOMD_FloppyIndex_DevNo          * 2
IOMD_VSync_DevNo                * 3
IOMD_PowerOn_DevNo              * 4
IOMD_Timer0_DevNo               * 5
IOMD_Timer1_DevNo               * 6
IOMD_FIQDowngrade_DevNo         * 7
IOMD_PFIQasIRQ_DevNo            * 8
IOMD_IDE_DevNo                  * 9
IOMD_Serial_DevNo               * 10
IOMD_Network_DevNo              * 11
IOMD_Floppy_DevNo               * 12
IOMD_Podule_DevNo               * 13
IOMD_SerialTx_DevNo             * 14
IOMD_SerialRx_DevNo             * 15

; Reassigned IOMD device numbers (ReassignedIOMDInterrupts = {TRUE})
; Scheme suitable for an STB with an I/O chip with active-high interrupts

; device 0 is unused when reassigned
; device 1 is unused on IOMD
IOMDr_PrinterIRQ_DevNo          * 2
IOMDr_VSync_DevNo               * 3
IOMDr_PowerOn_DevNo             * 4
IOMDr_Timer0_DevNo              * 5
IOMDr_Timer1_DevNo              * 6
IOMDr_FIQDowngrade_DevNo        * 7
IOMDr_PFIQasIRQ_DevNo           * 8   ; Other podules
IOMDr_Serial_DevNo              * 9
IOMDr_MPEGAudio_DevNo           * 10
IOMDr_Network_DevNo             * 11  ; Podule 0
IOMDr_MPEGVideo_DevNo           * 12
IOMDr_Podule_DevNo              * 13  ; Other podules
IOMDr_SerialTx_DevNo            * 14
IOMDr_SerialRx_DevNo            * 15

; IOMD DMA interrupts

IOMD_DMAChannel0_DevNo          * 16
IOMD_DMAChannel1_DevNo          * 17
IOMD_DMAChannel2_DevNo          * 18
IOMD_DMAChannel3_DevNo          * 19
IOMD_DMASound0_DevNo            * 20
IOMD_DMASound1_DevNo            * 21

; These are Morris only defs for IRQD and IRQC registers
; which may be conditionally assembled. The unused device
; numbers may be renamed at a later date. IRQC registers
; are general purpose and may be connected to any device
; depending on the platform, hence the names are not device
; specific.
;
IOMD_MouseRxFull_DevNo          * 22
IOMD_MouseTxEmpty_DevNo         * 23
IOMD_AtoD_DevNo                 * 24
IOMD_Event1_DevNo               * 25
IOMD_Event2_DevNo               * 26
IOMD_D_Unused5_DevNo            * 27
IOMD_D_Unused6_DevNo            * 28
IOMD_D_Unused7_DevNo            * 29
IOMD_C_Bit0_DevNo               * 30
IOMD_C_Bit1_DevNo               * 31
IOMD_C_Bit2_DevNo               * 32
IOMD_C_Bit3_DevNo               * 33
IOMD_C_Bit4_DevNo               * 34
IOMD_C_Bit5_DevNo               * 35
IOMD_C_Bit6_DevNo               * 36
IOMD_C_Bit7_DevNo               * 37


       OPT OldOpt
       END