---------------------------------------------------------------------- -- Title : PortAKD -- 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 : Port I/O ---------------------------------------------------------------------- -- "Microprocessor and Peripheral Handbook", vols I & II, Intel, 1987. ---------------------------------------------------------------------- with Port; with BitsAKD; use BitsAKD; -- for Byte_Type and Word_Type package PortAKD is ---------------------------------------------------------------------- ---------------------------------------------------------------------- Port_8259_OCW2 : constant := 16#20#; Port_8259_OCW1 : constant := 16#21#; Port_Speaker_Freq : constant := 16#42#; -- related to 8253 -- Port_Speaker_TMode : constant := 16#43; -- ??? Port_Speaker_Toggle : constant := 16#61#; -- 2 LSBs toggle speaker Port_Com1 : constant := 16#03F8#; Port_Com2 : constant := 16#02F8#; Port_Com3 : constant := 16#03F8#; Port_Com4 : constant := 16#02F8#; ---------------------------------------------------------------------- package Port_Meridian renames Port; -- to resolve naming conflicts between Port number vs. the package ---------------------------------------------------------------------- -- renamed from Port ---------------------------------------------------------------------- function In_Word ( Port : in integer ) return Word_Type renames Port_Meridian.In_Word; procedure Out_Word ( Port : in integer; Word : in Word_Type ) renames Port_Meridian.Out_Word; ---------------------------------------------------------------------- -- constrains return type from integer to Byte_Type ---------------------------------------------------------------------- function In_Byte ( Port : in integer ) return Byte_Type; procedure Out_Byte ( Port : in integer; Byte : in Byte_Type ); ---------------------------------------------------------------------- ---------------------------------------------------------------------- end PortAKD;