Text Compare
Produced: 2008-11-08 21:58:27
   
Mode:  All, Ignoring Unimportant  
Left file: C:\Documents and Settings\Wesoly\Pulpit\nt_console\nt_console.ads  
Right file: C:\Documents and Settings\Wesoly\Pulpit\nt_console\nt_console_old.ads  
----------------------------------------------------------------------- = -----------------------------------------------------------------------
--   --
--  File:        nt_console.ads   --  File:        nt_console.ads
--  Description: Win95/NT console support   --  Description: Win95/NT console support
--  Rev:         0.3 <> --  Rev:         0.2
--  Date:        08-june-1999 = --  Date:        08-june-1999
--  Author:      Jerry van Dijk   --  Author:      Jerry van Dijk
--  Mail:        jdijk@acm.org   --  Mail:        jdijk@acm.org
--   --
--  Copyright (c) Jerry van Dijk, 1997, 1998, 1999   --  Copyright (c) Jerry van Dijk, 1997, 1998, 1999
--  Billie Holidaystraat 28   --  Billie Holidaystraat 28
--  2324 LK  LEIDEN   --  2324 LK  LEIDEN
--  THE NETHERLANDS   --  THE NETHERLANDS
--  tel int + 31 71 531 43 65   --  tel int + 31 71 531 43 65
--   --
--  Permission granted to use for any purpose, provided this copyright   --  Permission granted to use for any purpose, provided this copyright
--  remains attached and unmodified.   --  remains attached and unmodified.
--   --
--  THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR   --  THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
--  IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED   --  IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
--  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.   --  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
--   --
-----------------------------------------------------------------------   -----------------------------------------------------------------------
----------------------------------------------------------------------- +-  
--  Rev:         0.3.1    
--  Date:        08-November-2008    
--  Little_Improver:    
--  Krzysiek Wesolowski    
--  Mail:        kwesoly@kwesoly.net    
--    
--      Change Log:    
--      Added Standard Ascii Character Constants (Letters, Numbers and Return)    
--      Added Wait_For_Any_Key procedure (useful when program ends and it    
--              should not close it's window or just to avoid using constructs like    
--              Get_Immediate(temp) with temp declared much earlier in code    
--      Removed unused code and added few syntax fixes (lack of constants)    
-----------------------------------------------------------------------    
  =  
 package NT_Console is    package NT_Console is
     
   ----------------------      ----------------------
   -- TYPE DEFINITIONS --      -- TYPE DEFINITIONS --
   ----------------------      ----------------------
     
   subtype X_Pos is Natural range 0 .. 79;      subtype X_Pos is Natural range 0 .. 79;
   subtype Y_Pos is Natural range 0 .. 24;      subtype Y_Pos is Natural range 0 .. 24;
     
   type Color_Type is      type Color_Type is
     (Black, Blue, Green, Cyan, Red, Magenta, Brown, Gray,        (Black, Blue, Green, Cyan, Red, Magenta, Brown, Gray,
      Light_Blue, Light_Green, Light_Cyan, Light_Red,         Light_Blue, Light_Green, Light_Cyan, Light_Red,
      Light_Magenta, Yellow, White);         Light_Magenta, Yellow, White);
     
   ---------------------- +-  
   -- STANDARD PC KEYS --    
   ----------------------    
  =  
   Key_0                        : constant Character := Character'Val ( 48); +-  
   Key_1                        : constant Character := Character'Val ( 49);    
   Key_2                        : constant Character := Character'Val ( 50);    
   Key_3                        : constant Character := Character'Val ( 51);    
   Key_4                        : constant Character := Character'Val ( 52);    
   Key_5                        : constant Character := Character'Val ( 53);    
   Key_6                        : constant Character := Character'Val ( 54);    
   Key_7                        : constant Character := Character'Val ( 55);    
   Key_8                        : constant Character := Character'Val ( 56);    
   Key_9                        : constant Character := Character'Val ( 57);    
  =  
   Key_A_Upper          : constant Character := Character'Val ( 65); +-  
   Key_B_Upper          : constant Character := Character'Val ( 66);    
   Key_C_Upper          : constant Character := Character'Val ( 67);    
   Key_D_Upper          : constant Character := Character'Val ( 68);    
   Key_E_Upper          : constant Character := Character'Val ( 69);    
   Key_F_Upper          : constant Character := Character'Val ( 70);    
   Key_G_Upper          : constant Character := Character'Val ( 71);    
   Key_H_Upper          : constant Character := Character'Val ( 72);    
   Key_I_Upper          : constant Character := Character'Val ( 73);    
   Key_J_Upper          : constant Character := Character'Val ( 74);    
   Key_K_Upper          : constant Character := Character'Val ( 75);    
   Key_L_Upper          : constant Character := Character'Val ( 76);    
   Key_M_Upper          : constant Character := Character'Val ( 77);    
   Key_N_Upper          : constant Character := Character'Val ( 78);    
   Key_O_Upper          : constant Character := Character'Val ( 79);    
   Key_P_Upper          : constant Character := Character'Val ( 80);    
   Key_Q_Upper          : constant Character := Character'Val ( 81);    
   Key_R_Upper          : constant Character := Character'Val ( 82);    
   Key_S_Upper          : constant Character := Character'Val ( 83);    
   Key_T_Upper          : constant Character := Character'Val ( 84);    
   Key_U_Upper          : constant Character := Character'Val ( 85);    
   Key_V_Upper          : constant Character := Character'Val ( 86);    
   Key_W_Upper          : constant Character := Character'Val ( 87);    
   Key_X_Upper          : constant Character := Character'Val ( 88);    
   Key_Y_Upper          : constant Character := Character'Val ( 89);    
   Key_Z_Upper          : constant Character := Character'Val ( 90);    
  =  
   Key_A_Lower          : constant Character := Character'Val ( 97); +-  
   Key_B_Lower          : constant Character := Character'Val ( 98);    
   Key_C_Lower          : constant Character := Character'Val ( 99);    
   Key_D_Lower          : constant Character := Character'Val ( 100);    
   Key_E_Lower          : constant Character := Character'Val ( 101);    
   Key_F_Lower          : constant Character := Character'Val ( 102);    
   Key_G_Lower          : constant Character := Character'Val ( 103);    
   Key_H_Lower          : constant Character := Character'Val ( 104);    
   Key_I_Lower          : constant Character := Character'Val ( 105);    
   Key_J_Lower          : constant Character := Character'Val ( 106);    
   Key_K_Lower          : constant Character := Character'Val ( 107);    
   Key_L_Lower          : constant Character := Character'Val ( 108);    
   Key_M_Lower          : constant Character := Character'Val ( 109);    
   Key_N_Lower          : constant Character := Character'Val ( 110);    
   Key_O_Lower          : constant Character := Character'Val ( 111);    
   Key_P_Lower          : constant Character := Character'Val ( 112);    
   Key_Q_Lower          : constant Character := Character'Val ( 113);    
   Key_R_Lower          : constant Character := Character'Val ( 114);    
   Key_S_Lower          : constant Character := Character'Val ( 115);    
   Key_T_Lower          : constant Character := Character'Val ( 116);    
   Key_U_Lower          : constant Character := Character'Val ( 117);    
   Key_V_Lower          : constant Character := Character'Val ( 118);    
   Key_W_Lower          : constant Character := Character'Val ( 119);    
   Key_X_Lower          : constant Character := Character'Val ( 120);    
   Key_Y_Lower          : constant Character := Character'Val ( 121);    
   Key_Z_Lower          : constant Character := Character'Val ( 122);    
  =  
   Key_Return           : constant Character := Character'Val ( 13); +-  
  =  
   ----------------------      ----------------------
   -- EXTENDED PC KEYS --      -- EXTENDED PC KEYS --
   ----------------------      ----------------------
     
   Key_Alt_Escape       : constant Character := Character'Val (16#01#);      Key_Alt_Escape       : constant Character := Character'Val (16#01#);
   Key_Control_At       : constant Character := Character'Val (16#03#);      Key_Control_At       : constant Character := Character'Val (16#03#);
   Key_Alt_Backspace    : constant Character := Character'Val (16#0e#);      Key_Alt_Backspace    : constant Character := Character'Val (16#0E#);
   Key_Backtab          : constant Character := Character'Val (16#0f#);      Key_BackTab          : constant Character := Character'Val (16#0F#);
   Key_Alt_Q            : constant Character := Character'Val (16#10#);      Key_Alt_Q            : constant Character := Character'Val (16#10#);
   Key_Alt_W            : constant Character := Character'Val (16#11#);      Key_Alt_W            : constant Character := Character'Val (16#11#);
   Key_Alt_E            : constant Character := Character'Val (16#12#);      Key_Alt_E            : constant Character := Character'Val (16#12#);
   Key_Alt_R            : constant Character := Character'Val (16#13#);      Key_Alt_R            : constant Character := Character'Val (16#13#);
   Key_Alt_T            : constant Character := Character'Val (16#14#);      Key_Alt_T            : constant Character := Character'Val (16#14#);
   Key_Alt_Y            : constant Character := Character'Val (16#15#);      Key_Alt_Y            : constant Character := Character'Val (16#15#);
   Key_Alt_U            : constant Character := Character'Val (16#16#);      Key_Alt_U            : constant Character := Character'Val (16#16#);
   Key_Alt_I            : constant Character := Character'Val (16#17#);      Key_Alt_I            : constant Character := Character'Val (16#17#);
   Key_Alt_O            : constant Character := Character'Val (16#18#);      Key_Alt_O            : constant Character := Character'Val (16#18#);
   Key_Alt_P            : constant Character := Character'Val (16#19#);      Key_Alt_P            : constant Character := Character'Val (16#19#);
   Key_Alt_Lbracket     : constant Character := Character'Val (16#1a#);      Key_Alt_LBracket     : constant Character := Character'Val (16#1A#);
   Key_Alt_Rbracket     : constant Character := Character'Val (16#1b#);      Key_Alt_RBracket     : constant Character := Character'Val (16#1B#);
   Key_Alt_Return       : constant Character := Character'Val (16#1c#);      Key_Alt_Return       : constant Character := Character'Val (16#1C#);
   Key_Alt_A            : constant Character := Character'Val (16#1e#);      Key_Alt_A            : constant Character := Character'Val (16#1E#);
   Key_Alt_S            : constant Character := Character'Val (16#1f#);      Key_Alt_S            : constant Character := Character'Val (16#1F#);
   Key_Alt_D            : constant Character := Character'Val (16#20#);      Key_Alt_D            : constant Character := Character'Val (16#20#);
   Key_Alt_F            : constant Character := Character'Val (16#21#);      Key_Alt_F            : constant Character := Character'Val (16#21#);
   Key_Alt_G            : constant Character := Character'Val (16#22#);      Key_Alt_G            : constant Character := Character'Val (16#22#);
   Key_Alt_H            : constant Character := Character'Val (16#23#);      Key_Alt_H            : constant Character := Character'Val (16#23#);
   Key_Alt_J            : constant Character := Character'Val (16#24#);      Key_Alt_J            : constant Character := Character'Val (16#24#);
   Key_Alt_K            : constant Character := Character'Val (16#25#);      Key_Alt_K            : constant Character := Character'Val (16#25#);
   Key_Alt_L            : constant Character := Character'Val (16#26#);      Key_Alt_L            : constant Character := Character'Val (16#26#);
   Key_Alt_Semicolon    : constant Character := Character'Val (16#27#);      Key_Alt_Semicolon    : constant Character := Character'Val (16#27#);
   Key_Alt_Quote        : constant Character := Character'Val (16#28#);      Key_Alt_Quote        : constant Character := Character'Val (16#28#);
   Key_Alt_Backquote    : constant Character := Character'Val (16#29#);      Key_Alt_Backquote    : constant Character := Character'Val (16#29#);
   Key_Alt_Backslash    : constant Character := Character'Val (16#2b#);      Key_Alt_Backslash    : constant Character := Character'Val (16#2B#);
   Key_Alt_Z            : constant Character := Character'Val (16#2c#);      Key_Alt_Z            : constant Character := Character'Val (16#2C#);
   Key_Alt_X            : constant Character := Character'Val (16#2d#);      Key_Alt_X            : constant Character := Character'Val (16#2D#);
   Key_Alt_C            : constant Character := Character'Val (16#2e#);      Key_Alt_C            : constant Character := Character'Val (16#2E#);
   Key_Alt_V            : constant Character := Character'Val (16#2f#);      Key_Alt_V            : constant Character := Character'Val (16#2F#);
   Key_Alt_B            : constant Character := Character'Val (16#30#);      Key_Alt_B            : constant Character := Character'Val (16#30#);
   Key_Alt_N            : constant Character := Character'Val (16#31#);      Key_Alt_N            : constant Character := Character'Val (16#31#);
   Key_Alt_M            : constant Character := Character'Val (16#32#);      Key_Alt_M            : constant Character := Character'Val (16#32#);
   Key_Alt_Comma        : constant Character := Character'Val (16#33#);      Key_Alt_Comma        : constant Character := Character'Val (16#33#);
   Key_Alt_Period       : constant Character := Character'Val (16#34#);      Key_Alt_Period       : constant Character := Character'Val (16#34#);
   Key_Alt_Slash        : constant Character := Character'Val (16#35#);      Key_Alt_Slash        : constant Character := Character'Val (16#35#);
   Key_Alt_Kpstar       : constant Character := Character'Val (16#37#);      Key_Alt_KPStar       : constant Character := Character'Val (16#37#);
   Key_F1               : constant Character := Character'Val (16#3b#);      Key_F1               : constant Character := Character'Val (16#3B#);
   Key_F2               : constant Character := Character'Val (16#3c#);      Key_F2               : constant Character := Character'Val (16#3C#);
   Key_F3               : constant Character := Character'Val (16#3d#);      Key_F3               : constant Character := Character'Val (16#3D#);
   Key_F4               : constant Character := Character'Val (16#3e#);      Key_F4               : constant Character := Character'Val (16#3E#);
   Key_F5               : constant Character := Character'Val (16#3f#);      Key_F5               : constant Character := Character'Val (16#3F#);
   Key_F6               : constant Character := Character'Val (16#40#);      Key_F6               : constant Character := Character'Val (16#40#);
   Key_F7               : constant Character := Character'Val (16#41#);      Key_F7               : constant Character := Character'Val (16#41#);
   Key_F8               : constant Character := Character'Val (16#42#);      Key_F8               : constant Character := Character'Val (16#42#);
   Key_F9               : constant Character := Character'Val (16#43#);      Key_F9               : constant Character := Character'Val (16#43#);
   Key_F10              : constant Character := Character'Val (16#44#);      Key_F10              : constant Character := Character'Val (16#44#);
   Key_Home             : constant Character := Character'Val (16#47#);      Key_Home             : constant Character := Character'Val (16#47#);
   Key_Up               : constant Character := Character'Val (16#48#);      Key_Up               : constant Character := Character'Val (16#48#);
   Key_Pageup           : constant Character := Character'Val (16#49#);      Key_PageUp           : constant Character := Character'Val (16#49#);
   Key_Alt_Kpminus      : constant Character := Character'Val (16#4a#);      Key_Alt_KPMinus      : constant Character := Character'Val (16#4A#);
   Key_Left             : constant Character := Character'Val (16#4b#);      Key_Left             : constant Character := Character'Val (16#4B#);
   Key_Center           : constant Character := Character'Val (16#4c#);      Key_Center           : constant Character := Character'Val (16#4C#);
   Key_Right            : constant Character := Character'Val (16#4d#);      Key_Right            : constant Character := Character'Val (16#4D#);
   Key_Alt_Kpplus       : constant Character := Character'Val (16#4e#);      Key_Alt_KPPlus       : constant Character := Character'Val (16#4E#);
   Key_End              : constant Character := Character'Val (16#4f#);      Key_End              : constant Character := Character'Val (16#4F#);
   Key_Down             : constant Character := Character'Val (16#50#);      Key_Down             : constant Character := Character'Val (16#50#);
   Key_Pagedown         : constant Character := Character'Val (16#51#);      Key_PageDown         : constant Character := Character'Val (16#51#);
   Key_Insert           : constant Character := Character'Val (16#52#);      Key_Insert           : constant Character := Character'Val (16#52#);
   Key_Delete           : constant Character := Character'Val (16#53#);      Key_Delete           : constant Character := Character'Val (16#53#);
   Key_Shift_F1         : constant Character := Character'Val (16#54#);      Key_Shift_F1         : constant Character := Character'Val (16#54#);
   Key_Shift_F2         : constant Character := Character'Val (16#55#);      Key_Shift_F2         : constant Character := Character'Val (16#55#);
   Key_Shift_F3         : constant Character := Character'Val (16#56#);      Key_Shift_F3         : constant Character := Character'Val (16#56#);
   Key_Shift_F4         : constant Character := Character'Val (16#57#);      Key_Shift_F4         : constant Character := Character'Val (16#57#);
   Key_Shift_F5         : constant Character := Character'Val (16#58#);      Key_Shift_F5         : constant Character := Character'Val (16#58#);
   Key_Shift_F6         : constant Character := Character'Val (16#59#);      Key_Shift_F6         : constant Character := Character'Val (16#59#);
   Key_Shift_F7         : constant Character := Character'Val (16#5a#);      Key_Shift_F7         : constant Character := Character'Val (16#5A#);
   Key_Shift_F8         : constant Character := Character'Val (16#5b#);      Key_Shift_F8         : constant Character := Character'Val (16#5B#);
   Key_Shift_F9         : constant Character := Character'Val (16#5c#);      Key_Shift_F9         : constant Character := Character'Val (16#5C#);
   Key_Shift_F10        : constant Character := Character'Val (16#5d#);      Key_Shift_F10        : constant Character := Character'Val (16#5D#);
   Key_Control_F1       : constant Character := Character'Val (16#5e#);      Key_Control_F1       : constant Character := Character'Val (16#5E#);
   Key_Control_F2       : constant Character := Character'Val (16#5f#);      Key_Control_F2       : constant Character := Character'Val (16#5F#);
   Key_Control_F3       : constant Character := Character'Val (16#60#);      Key_Control_F3       : constant Character := Character'Val (16#60#);
   Key_Control_F4       : constant Character := Character'Val (16#61#);      Key_Control_F4       : constant Character := Character'Val (16#61#);
   Key_Control_F5       : constant Character := Character'Val (16#62#);      Key_Control_F5       : constant Character := Character'Val (16#62#);
   Key_Control_F6       : constant Character := Character'Val (16#63#);      Key_Control_F6       : constant Character := Character'Val (16#63#);
   Key_Control_F7       : constant Character := Character'Val (16#64#);      Key_Control_F7       : constant Character := Character'Val (16#64#);
   Key_Control_F8       : constant Character := Character'Val (16#65#);      Key_Control_F8       : constant Character := Character'Val (16#65#);
   Key_Control_F9       : constant Character := Character'Val (16#66#);      Key_Control_F9       : constant Character := Character'Val (16#66#);
   Key_Control_F10      : constant Character := Character'Val (16#67#);      Key_Control_F10      : constant Character := Character'Val (16#67#);
   Key_Alt_F1           : constant Character := Character'Val (16#68#);      Key_Alt_F1           : constant Character := Character'Val (16#68#);
   Key_Alt_F2           : constant Character := Character'Val (16#69#);      Key_Alt_F2           : constant Character := Character'Val (16#69#);
   Key_Alt_F3           : constant Character := Character'Val (16#6a#);      Key_Alt_F3           : constant Character := Character'Val (16#6A#);
   Key_Alt_F4           : constant Character := Character'Val (16#6b#);      Key_Alt_F4           : constant Character := Character'Val (16#6B#);
   Key_Alt_F5           : constant Character := Character'Val (16#6c#);      Key_Alt_F5           : constant Character := Character'Val (16#6C#);
   Key_Alt_F6           : constant Character := Character'Val (16#6d#);      Key_Alt_F6           : constant Character := Character'Val (16#6D#);
   Key_Alt_F7           : constant Character := Character'Val (16#6e#);      Key_Alt_F7           : constant Character := Character'Val (16#6E#);
   Key_Alt_F8           : constant Character := Character'Val (16#6f#);      Key_Alt_F8           : constant Character := Character'Val (16#6F#);
   Key_Alt_F9           : constant Character := Character'Val (16#70#);      Key_Alt_F9           : constant Character := Character'Val (16#70#);
   Key_Alt_F10          : constant Character := Character'Val (16#71#);      Key_Alt_F10          : constant Character := Character'Val (16#71#);
   Key_Control_Left     : constant Character := Character'Val (16#73#);      Key_Control_Left     : constant Character := Character'Val (16#73#);
   Key_Control_Right    : constant Character := Character'Val (16#74#);      Key_Control_Right    : constant Character := Character'Val (16#74#);
   Key_Control_End      : constant Character := Character'Val (16#75#);      Key_Control_End      : constant Character := Character'Val (16#75#);
   Key_Control_Pagedown : constant Character := Character'Val (16#76#);      Key_Control_PageDown : constant Character := Character'Val (16#76#);
   Key_Control_Home     : constant Character := Character'Val (16#77#);      Key_Control_Home     : constant Character := Character'Val (16#77#);
   Key_Alt_1            : constant Character := Character'Val (16#78#);      Key_Alt_1            : constant Character := Character'Val (16#78#);
   Key_Alt_2            : constant Character := Character'Val (16#79#);      Key_Alt_2            : constant Character := Character'Val (16#79#);
   Key_Alt_3            : constant Character := Character'Val (16#7a#);      Key_Alt_3            : constant Character := Character'Val (16#7A#);
   Key_Alt_4            : constant Character := Character'Val (16#7b#);      Key_Alt_4            : constant Character := Character'Val (16#7B#);
   Key_Alt_5            : constant Character := Character'Val (16#7c#);      Key_Alt_5            : constant Character := Character'Val (16#7C#);
   Key_Alt_6            : constant Character := Character'Val (16#7d#);      Key_Alt_6            : constant Character := Character'Val (16#7D#);
   Key_Alt_7            : constant Character := Character'Val (16#7e#);      Key_Alt_7            : constant Character := Character'Val (16#7E#);
   Key_Alt_8            : constant Character := Character'Val (16#7f#);      Key_Alt_8            : constant Character := Character'Val (16#7F#);
   Key_Alt_9            : constant Character := Character'Val (16#80#);      Key_Alt_9            : constant Character := Character'Val (16#80#);
   Key_Alt_0            : constant Character := Character'Val (16#81#);      Key_Alt_0            : constant Character := Character'Val (16#81#);
   Key_Alt_Dash         : constant Character := Character'Val (16#82#);      Key_Alt_Dash         : constant Character := Character'Val (16#82#);
   Key_Alt_Equals       : constant Character := Character'Val (16#83#);      Key_Alt_Equals       : constant Character := Character'Val (16#83#);
   Key_Control_Pageup   : constant Character := Character'Val (16#84#);      Key_Control_PageUp   : constant Character := Character'Val (16#84#);
   Key_F11              : constant Character := Character'Val (16#85#);      Key_F11              : constant Character := Character'Val (16#85#);
   Key_F12              : constant Character := Character'Val (16#86#);      Key_F12              : constant Character := Character'Val (16#86#);
   Key_Shift_F11        : constant Character := Character'Val (16#87#);      Key_Shift_F11        : constant Character := Character'Val (16#87#);
   Key_Shift_F12        : constant Character := Character'Val (16#88#);      Key_Shift_F12        : constant Character := Character'Val (16#88#);
   Key_Control_F11      : constant Character := Character'Val (16#89#);      Key_Control_F11      : constant Character := Character'Val (16#89#);
   Key_Control_F12      : constant Character := Character'Val (16#8a#);      Key_Control_F12      : constant Character := Character'Val (16#8A#);
   Key_Alt_F11          : constant Character := Character'Val (16#8b#);      Key_Alt_F11          : constant Character := Character'Val (16#8B#);
   Key_Alt_F12          : constant Character := Character'Val (16#8c#);      Key_Alt_F12          : constant Character := Character'Val (16#8C#);
   Key_Control_Up       : constant Character := Character'Val (16#8d#);      Key_Control_Up       : constant Character := Character'Val (16#8D#);
   Key_Control_Kpdash   : constant Character := Character'Val (16#8e#);      Key_Control_KPDash   : constant Character := Character'Val (16#8E#);
   Key_Control_Center   : constant Character := Character'Val (16#8f#);      Key_Control_Center   : constant Character := Character'Val (16#8F#);
   Key_Control_Kpplus   : constant Character := Character'Val (16#90#);      Key_Control_KPPlus   : constant Character := Character'Val (16#90#);
   Key_Control_Down     : constant Character := Character'Val (16#91#);      Key_Control_Down     : constant Character := Character'Val (16#91#);
   Key_Control_Insert   : constant Character := Character'Val (16#92#);      Key_Control_Insert   : constant Character := Character'Val (16#92#);
   Key_Control_Delete   : constant Character := Character'Val (16#93#);      Key_Control_Delete   : constant Character := Character'Val (16#93#);
   Key_Control_Kpslash  : constant Character := Character'Val (16#95#);      Key_Control_KPSlash  : constant Character := Character'Val (16#95#);
   Key_Control_Kpstar   : constant Character := Character'Val (16#96#);      Key_Control_KPStar   : constant Character := Character'Val (16#96#);
   Key_Alt_Ehome        : constant Character := Character'Val (16#97#);      Key_Alt_EHome        : constant Character := Character'Val (16#97#);
   Key_Alt_Eup          : constant Character := Character'Val (16#98#);      Key_Alt_EUp          : constant Character := Character'Val (16#98#);
   Key_Alt_Epageup      : constant Character := Character'Val (16#99#);      Key_Alt_EPageUp      : constant Character := Character'Val (16#99#);
   Key_Alt_Eleft        : constant Character := Character'Val (16#9b#);      Key_Alt_ELeft        : constant Character := Character'Val (16#9B#);
   Key_Alt_Eright       : constant Character := Character'Val (16#9d#);      Key_Alt_ERight       : constant Character := Character'Val (16#9D#);
   Key_Alt_Eend         : constant Character := Character'Val (16#9f#);      Key_Alt_EEnd         : constant Character := Character'Val (16#9F#);
   Key_Alt_Edown        : constant Character := Character'Val (16#A0#);      Key_Alt_EDown        : constant Character := Character'Val (16#A0#);
   Key_Alt_Epagedown    : constant Character := Character'Val (16#A1#);      Key_Alt_EPageDown    : constant Character := Character'Val (16#A1#);
   Key_Alt_Einsert      : constant Character := Character'Val (16#A2#);      Key_Alt_EInsert      : constant Character := Character'Val (16#A2#);
   Key_Alt_Edelete      : constant Character := Character'Val (16#A3#);      Key_Alt_EDelete      : constant Character := Character'Val (16#A3#);
   Key_Alt_Kpslash      : constant Character := Character'Val (16#A4#);      Key_Alt_KPSlash      : constant Character := Character'Val (16#A4#);
   Key_Alt_Tab          : constant Character := Character'Val (16#A5#);      Key_Alt_Tab          : constant Character := Character'Val (16#A5#);
   Key_Alt_Enter        : constant Character := Character'Val (16#A6#);      Key_Alt_Enter        : constant Character := Character'Val (16#A6#);
     
   --------------------      --------------------
   -- CURSOR CONTROL --      -- CURSOR CONTROL --
   --------------------      --------------------
   -- Check if cursor is visible <>  
   function  Cursor_Visible return Boolean; =    function  Cursor_Visible return Boolean;
     
   --You can hide flashing cursor with Set_Cursor(False); +-  
   procedure Set_Cursor (Visible : in Boolean); =    procedure Set_Cursor (Visible : in Boolean);
     
   --You can read current position +-  
   function Where_X return X_Pos; =    function Where_X return X_Pos;
   function Where_Y return Y_Pos;      function Where_Y return Y_Pos;
     
   -- Or change it +-  
   procedure Goto_Xy =    procedure Goto_XY
     (X : in X_Pos := X_Pos'First;        (X : in X_Pos := X_Pos'First;
      Y : in Y_Pos := Y_Pos'First);         Y : in Y_Pos := Y_Pos'First);
     
   -------------------      -------------------
   -- COLOR CONTROL --      -- COLOR CONTROL --
   -------------------      -------------------
     
   -- Check current colors +-  
   function Get_Foreground return Color_Type; =    function Get_Foreground return Color_Type;
   function Get_Background return Color_Type;      function Get_Background return Color_Type;
     
   -- And set them +-  
   procedure Set_Foreground (Color : in Color_Type := Gray); =    procedure Set_Foreground (Color : in Color_Type := Gray);
   procedure Set_Background (Color : in Color_Type := Black);      procedure Set_Background (Color : in Color_Type := Black);
     
   --------------------      --------------------
   -- SCREEN CONTROL --      -- SCREEN CONTROL --
   --------------------      --------------------
   -- Fills console with Color <>  
   procedure Clear_Screen (Color : in Color_Type := Black); =    procedure Clear_Screen (Color : in Color_Type := Black);
     
   -------------------      -------------------
   -- SOUND CONTROL --      -- SOUND CONTROL --
   -------------------      -------------------
   -- Use system Beep +-  
   procedure Bleep; =    procedure Bleep;
     
   -------------------      -------------------
   -- INPUT CONTROL --      -- INPUT CONTROL --
   -------------------      -------------------
     
   -- Get one character from input buffer +-  
   function Get_Key return Character; =    function Get_Key return Character;
     
   -- check if character waits in input buffer +-  
   function Key_Available return Boolean; =    function Key_Available return Boolean;
     
   -- stop program until character appear in buffer +-  
   -- after that buffer is flushed    
   procedure Wait_For_Any_Key;    
  =  
end NT_Console;   end NT_Console;