home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #6 / amigamamagazinepolishissue1998.iso / coders / jËzyki_programowania / ace_basic / ace / include / libraries / lowlevel.h < prev    next >
C/C++ Source or Header  |  1977-12-31  |  8KB  |  263 lines

  1. #ifndef LIBRARIES_LOWLEVEL_H
  2. #define LIBRARIES_LOWLEVEL_H
  3. /*
  4. ** lowlevel.h for ACE Basic
  5. **
  6. ** Note: Translated to ACE by ConvertC2ACE
  7. **       @ MapMeadow Software, Nils Sjoholm
  8. **
  9. **
  10. ** Date: 09/01/95
  11. **
  12. **
  13. */
  14.  
  15. /*
  16. ** This are the StructPointer defines for lowlevel.h
  17. */
  18. #ifndef KeyQueryPtr
  19. #define KeyQueryPtr ADDRESS
  20. #endif
  21. /*
  22. ** End of StructPointer defines for lowlevel.h
  23. */
  24.  
  25.  
  26.  
  27. /*****************************************************************************/
  28.  
  29.  
  30. #ifndef EXEC_TYPES_H
  31. #include <exec/types.h>
  32. #endif
  33.  
  34. #ifndef UTILITY_TAGITEM_H
  35. #include <utility/tagitem.h>
  36. #endif
  37.  
  38.  
  39. /*****************************************************************************/
  40.  
  41.  
  42. /* structure for use with QueryKeys() */
  43. STRUCT KeyQuery
  44.  
  45.     SHORTINT kq_KeyCode 
  46.     SHORTINT  kq_Pressed 
  47. END STRUCT 
  48.  
  49.  
  50. /*****************************************************************************/
  51.  
  52.  
  53. /* bits in the return value of GetKey() */
  54. #define LLKB_LSHIFT 16
  55. #define LLKB_RSHIFT 17
  56. #define LLKB_CAPSLOCK   18
  57. #define LLKB_CONTROL    19
  58. #define LLKB_LALT   20
  59. #define LLKB_RALT   21
  60. #define LLKB_LAMIGA 22
  61. #define LLKB_RAMIGA 23
  62.  
  63. #define LLKF_LSHIFT (65536)
  64. #define LLKF_RSHIFT (131072)
  65. #define LLKF_CAPSLOCK   (262144)
  66. #define LLKF_CONTROL    (524288)
  67. #define LLKF_LALT   (1048576)
  68. #define LLKF_RALT   (2097152)
  69. #define LLKF_LAMIGA (4194304)
  70. #define LLKF_RAMIGA (8388608)
  71.  
  72.  
  73. /*****************************************************************************/
  74.  
  75.  
  76. /* Tags for SetJoyPortAttrs() */
  77. #define SJA_Dummy    (TAG_USER+&Hc00100)
  78. #define SJA_Type     (SJA_Dummy+1) /* force type to mouse,  joy,  game cntrlr */
  79. #define SJA_Reinitialize (SJA_Dummy+2) /* free potgo bits,  reset to autosense   */
  80.  
  81. /* Controller types for SJA_Type tag */
  82. #define SJA_TYPE_AUTOSENSE 0
  83. #define SJA_TYPE_GAMECTLR  1
  84. #define SJA_TYPE_MOUSE     2
  85. #define SJA_TYPE_JOYSTK    3
  86.  
  87.  
  88. /*****************************************************************************/
  89.  
  90.  
  91. /* ReadJoyPort() return value definitions */
  92.  
  93. /* Port types */
  94. #define JP_TYPE_NOTAVAIL  (0)    /* port DATA unavailable    */
  95. #define JP_TYPE_GAMECTLR  (268435456)    /* port has game controller */
  96. #define JP_TYPE_MOUSE     (536870912)    /* port has mouse       */
  97. #define JP_TYPE_JOYSTK    (805306368)    /* port has joystick        */
  98. #define JP_TYPE_UNKNOWN   (1073741824)    /* port has unknown device  */
  99. #define JP_TYPE_MASK      (-268435456)    /* controller type          */
  100.  
  101. /* Button types,  valid for all types except JP_TYPE_NOTAVAIL */
  102. #define JPB_BUTTON_BLUE    23     /* Blue - Stop  Right Mouse            */
  103. #define JPB_BUTTON_RED     22     /* Red - Select  Left Mouse  Joystick Fire */
  104. #define JPB_BUTTON_YELLOW  21     /* Yellow - Repeat                 */
  105. #define JPB_BUTTON_GREEN   20     /* Green - Shuffle                 */
  106. #define JPB_BUTTON_FORWARD 19     /* Charcoal - Forward          */
  107. #define JPB_BUTTON_REVERSE 18     /* Charcoal - Reverse          */
  108. #define JPB_BUTTON_PLAY    17     /* Grey - Play/Pause  Middle Mouse         */
  109. #define JPF_BUTTON_BLUE    (8388608)
  110. #define JPF_BUTTON_RED     (4194304)
  111. #define JPF_BUTTON_YELLOW  (2097152)
  112. #define JPF_BUTTON_GREEN   (1048576)
  113. #define JPF_BUTTON_FORWARD (524288)
  114. #define JPF_BUTTON_REVERSE (262144)
  115. #define JPF_BUTTON_PLAY    (131072)
  116. #define JP_BUTTON_MASK     (JPF_BUTTON_BLUE OR JPF_BUTTON_RED OR JPF_BUTTON_YELLOW OR \
  117.  JPF_BUTTON_GREEN OR JPF_BUTTON_FORWARD OR JPF_BUTTON_REVERSE OR JPF_BUTTON_PLAY)
  118.  
  119. /* Direction types,  valid for JP_TYPE_GAMECTLR and JP_TYPE_JOYSTK */
  120. #define JPB_JOY_UP    3
  121. #define JPB_JOY_DOWN      2
  122. #define JPB_JOY_LEFT      1
  123. #define JPB_JOY_RIGHT     0
  124. #define JPF_JOY_UP    (8)
  125. #define JPF_JOY_DOWN      (4)
  126. #define JPF_JOY_LEFT      (2)
  127. #define JPF_JOY_RIGHT     (1)
  128. #define JP_DIRECTION_MASK (JPF_JOY_UP OR JPF_JOY_DOWN OR JPF_JOY_LEFT OR JPF_JOY_RIGHT)
  129.  
  130. /* Mouse position reports,  valid for JP_TYPE_MOUSE */
  131. #define JP_MHORZ_MASK   (255)    /* horzizontal position */
  132. #define JP_MVERT_MASK   (65280)    /* vertical position    */
  133. #define JP_MOUSE_MASK   (JP_MHORZ_MASK OR JP_MVERT_MASK)
  134.  
  135. /* Obsolete ReadJoyPort() definitions,  here for source code compatibility only.
  136.  * Please do NOT use in new code.
  137.  */
  138. #define JPB_BTN1  JPB_BUTTON_BLUE
  139. #define JPF_BTN1  JPF_BUTTON_BLUE
  140. #define JPB_BTN2  JPB_BUTTON_RED
  141. #define JPF_BTN2  JPF_BUTTON_RED
  142. #define JPB_BTN3  JPB_BUTTON_YELLOW
  143. #define JPF_BTN3  JPF_BUTTON_YELLOW
  144. #define JPB_BTN4  JPB_BUTTON_GREEN
  145. #define JPF_BTN4  JPF_BUTTON_GREEN
  146. #define JPB_BTN5  JPB_BUTTON_FORWARD
  147. #define JPF_BTN5  JPF_BUTTON_FORWARD
  148. #define JPB_BTN6  JPB_BUTTON_REVERSE
  149. #define JPF_BTN6  JPF_BUTTON_REVERSE
  150. #define JPB_BTN7  JPB_BUTTON_PLAY
  151. #define JPF_BTN7  JPF_BUTTON_PLAY
  152. #define JPB_UP    JPB_JOY_UP
  153. #define JPF_UP    JPF_JOY_UP
  154. #define JPB_DOWN  JPB_JOY_DOWN
  155. #define JPF_DOWN  JPF_JOY_DOWN
  156. #define JPB_LEFT  JPB_JOY_LEFT
  157. #define JPF_LEFT  JPF_JOY_LEFT
  158. #define JPB_RIGHT JPB_JOY_RIGHT
  159. #define JPF_RIGHT JPF_JOY_RIGHT
  160.  
  161.  
  162. /*****************************************************************************/
  163.  
  164.  
  165. /* Tags for SystemControl() */
  166. #define SCON_Dummy     (TAG_USER+&H00C00000)
  167. #define SCON_TakeOverSys   (SCON_Dummy+0)
  168. #define SCON_KillReq       (SCON_Dummy+1)
  169. #define SCON_CDReboot      (SCON_Dummy+2)
  170. #define SCON_StopInput     (SCON_Dummy+3)
  171. #define SCON_AddCreateKeys (SCON_Dummy+4)
  172. #define SCON_RemCreateKeys (SCON_Dummy+5)
  173.  
  174. /* Reboot control values for use with SCON_CDReboot tag */
  175. #define CDReboot_On     1
  176. #define CDReboot_Off        0
  177. #define CDReboot_Default    2
  178.  
  179.  
  180. /*****************************************************************************/
  181.  
  182.  
  183. /* Rawkey codes returned when using SCON_AddCreateKeys with SystemControl() */
  184.  
  185. #define RAWKEY_PORT0_BUTTON_BLUE    &H72
  186. #define RAWKEY_PORT0_BUTTON_RED &H78
  187. #define RAWKEY_PORT0_BUTTON_YELLOW  &H77
  188. #define RAWKEY_PORT0_BUTTON_GREEN   &H76
  189. #define RAWKEY_PORT0_BUTTON_FORWARD &H75
  190. #define RAWKEY_PORT0_BUTTON_REVERSE &H74
  191. #define RAWKEY_PORT0_BUTTON_PLAY    &H73
  192. #define RAWKEY_PORT0_JOY_UP     &H79
  193. #define RAWKEY_PORT0_JOY_DOWN       &H7A
  194. #define RAWKEY_PORT0_JOY_LEFT       &H7C
  195. #define RAWKEY_PORT0_JOY_RIGHT      &H7B
  196.  
  197. #define RAWKEY_PORT1_BUTTON_BLUE    &H172
  198. #define RAWKEY_PORT1_BUTTON_RED &H178
  199. #define RAWKEY_PORT1_BUTTON_YELLOW  &H177
  200. #define RAWKEY_PORT1_BUTTON_GREEN   &H176
  201. #define RAWKEY_PORT1_BUTTON_FORWARD &H175
  202. #define RAWKEY_PORT1_BUTTON_REVERSE &H174
  203. #define RAWKEY_PORT1_BUTTON_PLAY    &H173
  204. #define RAWKEY_PORT1_JOY_UP     &H179
  205. #define RAWKEY_PORT1_JOY_DOWN       &H17A
  206. #define RAWKEY_PORT1_JOY_LEFT       &H17C
  207. #define RAWKEY_PORT1_JOY_RIGHT      &H17B
  208.  
  209. #define RAWKEY_PORT2_BUTTON_BLUE    &H272
  210. #define RAWKEY_PORT2_BUTTON_RED &H278
  211. #define RAWKEY_PORT2_BUTTON_YELLOW  &H277
  212. #define RAWKEY_PORT2_BUTTON_GREEN   &H276
  213. #define RAWKEY_PORT2_BUTTON_FORWARD &H275
  214. #define RAWKEY_PORT2_BUTTON_REVERSE &H274
  215. #define RAWKEY_PORT2_BUTTON_PLAY    &H273
  216. #define RAWKEY_PORT2_JOY_UP     &H279
  217. #define RAWKEY_PORT2_JOY_DOWN       &H27A
  218. #define RAWKEY_PORT2_JOY_LEFT       &H27C
  219. #define RAWKEY_PORT2_JOY_RIGHT      &H27B
  220.  
  221. #define RAWKEY_PORT3_BUTTON_BLUE    &H372
  222. #define RAWKEY_PORT3_BUTTON_RED &H378
  223. #define RAWKEY_PORT3_BUTTON_YELLOW  &H377
  224. #define RAWKEY_PORT3_BUTTON_GREEN   &H376
  225. #define RAWKEY_PORT3_BUTTON_FORWARD &H375
  226. #define RAWKEY_PORT3_BUTTON_REVERSE &H374
  227. #define RAWKEY_PORT3_BUTTON_PLAY    &H373
  228. #define RAWKEY_PORT3_JOY_UP     &H379
  229. #define RAWKEY_PORT3_JOY_DOWN       &H37A
  230. #define RAWKEY_PORT3_JOY_LEFT       &H37C
  231. #define RAWKEY_PORT3_JOY_RIGHT      &H37B
  232.  
  233.  
  234. /*****************************************************************************/
  235.  
  236.  
  237. /* Return values for GetLanguageSelection() */
  238. #define LANG_UNKNOWN    0
  239. #define LANG_AMERICAN   1   /* American English */
  240. #define LANG_ENGLISH    2   /* British English  */
  241. #define LANG_GERMAN 3
  242. #define LANG_FRENCH 4
  243. #define LANG_SPANISH    5
  244. #define LANG_ITALIAN    6
  245. #define LANG_PORTUGUESE 7
  246. #define LANG_DANISH 8
  247. #define LANG_DUTCH  9
  248. #define LANG_NORWEGIAN  10
  249. #define LANG_FINNISH    11
  250. #define LANG_SWEDISH    12
  251. #define LANG_JAPANESE   13
  252. #define LANG_CHINESE    14
  253. #define LANG_ARABIC 15
  254. #define LANG_GREEK  16
  255. #define LANG_HEBREW 17
  256. #define LANG_KOREAN 18
  257.  
  258.  
  259. /*****************************************************************************/
  260.  
  261.  
  262. #endif /* LIBRARIES_LOWLEVEL_H */
  263.