source: xtideuniversalbios/trunk/XTIDE_Universal_BIOS/Inc/Interrupts.inc@ 15

Last change on this file since 15 was 3, checked in by Tomi Tilli, 15 years ago
File size: 3.2 KB
Line 
1; File name : Interrupts.inc
2; Project name : IDE BIOS
3; Created date : 29.7.2007
4; Last update : 6.11.2009
5; Author : Tomi Tilli
6; Description : Equates for Interrupts.
7%ifndef INTERRUPTS_INC
8%define INTERRUPTS_INC
9
10; 8259 Master and Slave Interrupt Controller Ports
11RPORT_8259MA_IRR_ISR EQU 20h ; Master 8259 Read IRR / ISR
12WPORT_8259MA_COMMAND EQU 20h ; Master 8259 Write command
13WPORT_8259MA_INIT EQU 21h ; Master 8259 Write Init command
14PORT_8259MA_IMR EQU 21h ; Master 8259 IMR
15RPORT_8259SL_IRR_ISR EQU 0A0h ; Slave 8259 Read IRR / ISR
16WPORT_8259SL_COMMAND EQU 0A0h ; Slave 8259 Write command
17WPORT_8259SL_INIT EQU 0A1h ; Slave 8259 Write Init command
18PORT_8259SL_IMR EQU 0A1h ; Slave 8259 IMR
19
20; Valid commands to port 20h (master, WPORT_8259MA_COMMAND)
21; and A0h (slave, WPORT_8259SL_COMMAND)
22CMD_ROT_IN_AUTO_EOI_MODE_CLEAR EQU 000h
23CMD_READ_IRR EQU 00Ah
24CMD_READ_ISR EQU 00Bh
25CMD_END_OF_INTERRUPT EQU 020h
26CMD_NO_OPERATION EQU 040h
27CMD_CLEAR_SPECIAL_MASK_MODE EQU 048h
28CMD_SPEC_EOI_IRQ0 EQU 060h
29CMD_SPEC_EOI_IRQ1 EQU 061h
30CMD_SPEC_EOI_IRQ2 EQU 062h
31CMD_SPEC_EOI_IRQ3 EQU 063h
32CMD_SPEC_EOI_IRQ4 EQU 064h
33CMD_SPEC_EOI_IRQ5 EQU 065h
34CMD_SPEC_EOI_IRQ6 EQU 066h
35CMD_SPEC_EOI_IRQ7 EQU 067h
36CMD_SET_SPECIAL_MASK_MODE EQU 068h
37CMD_ROT_IN_AUTO_EOI_MODE_SET EQU 080h
38CMD_ROT_ON_NONSPEC_EOI EQU 0A0h
39CMD_IRQ0_LOWST_PRIO EQU 0C0h
40CMD_IRQ1_LOWST_PRIO EQU 0C1h
41CMD_IRQ2_LOWST_PRIO EQU 0C2h
42CMD_IRQ3_LOWST_PRIO EQU 0C3h
43CMD_IRQ4_LOWST_PRIO EQU 0C4h
44CMD_IRQ5_LOWST_PRIO EQU 0C5h
45CMD_IRQ6_LOWST_PRIO EQU 0C6h
46CMD_IRQ7_LOWST_PRIO EQU 0C7h
47CMD_EOI_AND_IRQ0_LOWST_PRIO EQU 0E0h
48CMD_EOI_AND_IRQ1_LOWST_PRIO EQU 0E1h
49CMD_EOI_AND_IRQ2_LOWST_PRIO EQU 0E2h
50CMD_EOI_AND_IRQ3_LOWST_PRIO EQU 0E3h
51CMD_EOI_AND_IRQ4_LOWST_PRIO EQU 0E4h
52CMD_EOI_AND_IRQ5_LOWST_PRIO EQU 0E5h
53CMD_EOI_AND_IRQ6_LOWST_PRIO EQU 0E6h
54CMD_EOI_AND_IRQ7_LOWST_PRIO EQU 0E7h
55
56
57; Interrupt Vector Table
58INTV_IRQ0 EQU 08h ; System timer
59INTV_IRQ1 EQU 09h ; Keyboard
60INTV_IRQ2 EQU 0Ah
61INTV_IRQ3 EQU 0Bh
62INTV_IRQ4 EQU 0Ch
63INTV_IRQ5 EQU 0Dh
64INTV_IRQ6 EQU 0Eh
65INTV_IRQ7 EQU 0Fh
66INTV_EQUIPMENT_CONF EQU 11h ; Equipment configuration
67INTV_MEMORY_SIZE EQU 12h ; Base memory size
68INTV_DISK_FUNC EQU 13h ; Disk functions
69INTV_SYSTEM_SERVICES EQU 15h ; Different system functions
70INTV_KEYBOARD_FUNC EQU 16h ; Keyboard functions
71INTV_BOOT_FAILURE EQU 18h ; Process Boot Failure
72INTV_BOOTSTRAP EQU 19h ; Boot Strap Loader
73INTV_TIME_OF_DAY EQU 1Ah ; Time of day functions
74INTV_KEYB_BREAK EQU 1Bh ; Keyboard break
75INTV_USER_TIMER_TICK EQU 1Ch ; User timer tick
76INTV_DPT EQU 1Eh ; Diskette Parameter Table
77INTV_FLOPPY_FUNC EQU 40h ; Floppy functions
78INTV_HD0DPT EQU 41h ; Ptr to HD0 Disk Parameter Table
79INTV_HD1DPT EQU 46h ; Ptr to HD1 Disk Parameter Table
80INTV_USERS_ALARM EQU 4Ah ; Users alarm
81INTV_IRQ8 EQU 70h
82INTV_IRQ9 EQU 71h
83INTV_IRQ10 EQU 72h
84INTV_IRQ11 EQU 73h
85INTV_IRQ12 EQU 74h
86INTV_IRQ13 EQU 75h
87INTV_IRQ14 EQU 76h
88INTV_IRQ15 EQU 77h
89
90
91%endif ; INTERRUPTS_INC
Note: See TracBrowser for help on using the repository browser.