h6. [[Programmer's Reference Manuals]] h6(. » System Device Numbers *Note: The following table is only valid for IOMD-based pre-HAL machines.* For machines with a HAL (even a HAL running on IOMD), programmers should make no assumption about device numbers following any fixed scheme. Instead, the appropriate OS calls or hardware-specific documentation should be used to determine the correct device numbers. table(bordered). |_<^{width:3em}. #|_<^. Meaning| |<^. 0|<^. Printer interrupt from 82C710/1| |<^. 1|<^. Unused (was Low battery warning on IOC)| |<^. 2|<^. Floppy disc indexer| |<^. 3|<^. VSync Pulse| |<^. 4|<^. Power on reset| |<^. 5|<^. Timer 0| |<^. 6|<^. Timer 1| |<^. 7|<^. FIQ downgrade - reserved for the current owner of FIQ| |<^. 8|<^. Expansion card FIQ downgrade; this should normally be masked off| |<^. 9|<^. IDE hard disc interrupt (was Sound system buffer change on IOC)| |<^. 10|<^. Serial port interrupt from 82C710/1 also mapped to FIQ device 4| |<^. 11|<^. Network interrupt| |<^. 12|<^. Floppy disc interrupt| |<^. 13|<^. Expansion card interrupt| |<^. 14|<^. Keyboard serial transmit register empty| |<^. 15|<^. Keyboard serial receive register full| |<^. 16|<^. DMA channel 0| |<^. 17|<^. DMA channel 1| |<^. 18|<^. DMA channel 2| |<^. 19|<^. DMA channel 3| |<^. 20|<^. DMA sound channel 0| |<^. 21|<^. DMA sound channel 1| |<^. 22|<^. ARM 7500 mouse port receive register full| |<^. 23|<^. ARM 7500 mouse port transmit register empty| |<^. 24|<^. ARM 7500 joystick A-to-D completion| |<^. 25|<^. ARM 7500 event 1| |<^. 26|<^. ARM 7500 event 2| h6. Controlling sources: "Hdr:DevNos":https://gitlab.riscosopen.org/RiscOS/Sources/Programmer/HdrSrc/-/blob/master/hdr/DevNos managed by the "allocations manager":/content/allocate h4. Notes PCI device numbers are allocated dynamically - see [[PCI_ReadInfo]] (bit 11). h4. See also * [[OS_ReleaseDeviceVector]] * [[PCI_ReadInfo]]