---------------------------------------------------------------------- -- Title : IntrAKD -- Version : 1.0 -- Copyright : (C) 1994 David Wallace Croft. All rights reserved. -- Author : David Wallace Croft, CompuServe [76600,102] -- Compiler : Meridian OpenAda for DOS -- Description : Interrupt and Programmable Interrupt Controller -- (PIC) manipulation. ---------------------------------------------------------------------- with BitsAKD, System; package IntrAKD is --------------------------------------------------------------------------- --------------------------------------------------------------------------- subtype Int_Type is System.Address range 16#00#..16#FF#; Int_Print_Screen : constant Int_Type := 16#05#; Int_Keyboard : constant Int_Type := 16#09#; Int_Com2 : constant Int_Type := 16#0B#; Int_Com1 : constant Int_Type := 16#0C#; Int_User_Tick : constant Int_Type := 16#1C#; Int_Control_C : constant Int_Type := 16#23#; --------------------------------------------------------------------------- type PIC_Level_Type is range 0..15; PIC_Clock_Soft : constant PIC_Level_Type := 0; PIC_Keyboard : constant PIC_Level_Type := 1; PIC_Com2 : constant PIC_Level_Type := 3; PIC_Com4 : constant PIC_Level_Type := 3; PIC_Com1 : constant PIC_Level_Type := 4; PIC_Com3 : constant PIC_Level_Type := 4; PIC_Disk_Hard_1 : constant PIC_Level_Type := 5; PIC_Disk_Floppy : constant PIC_Level_Type := 6; PIC_Printer : constant PIC_Level_Type := 7; PIC_Clock_Hard : constant PIC_Level_Type := 8; PIC_Master_8259 : constant PIC_Level_Type := 9; PIC_Math_Coproc : constant PIC_Level_Type := 13; PIC_Disk_Hard_2 : constant PIC_Level_Type := 14; --------------------------------------------------------------------------- procedure PIC_8259 ( PIC_Level: in PIC_Level_Type; On: in boolean ); procedure PIC_8259_EOI; procedure PIC_8259_EOI ( PIC_Level: in PIC_Level_Type ); function PIC_8259_OCW2 return BitsAKD.Byte_Type; procedure PIC_8259_OCW2 ( Mode: in BitsAKD.Byte_Type ); procedure PIC_8259_Show; procedure Vector_Show ( Int: in Int_Type ); --------------------------------------------------------------------------- end IntrAKD;