WWInterrupt.h 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. #ifndef _WWInterrupt_h_INCLUDED_
  2. #define _WWInterrupt_h_INCLUDED_
  3. /*****************************************************************************/
  4. /* ここから */
  5. /*****************************************************************************/
  6. /*****************************************************************************/
  7. /* クラスの定義 */
  8. /*****************************************************************************/
  9. typedef struct _WWInterrupt * WWInterrupt;
  10. typedef void (*WWInterruptCallback)();
  11. /*****************************************************************************/
  12. /* ヘッダファイルのインクルード */
  13. /*****************************************************************************/
  14. #include <stdio.h>
  15. #include <stdlib.h>
  16. #include "wonx/system.h"
  17. /*****************************************************************************/
  18. /* メンバ関数の宣言 */
  19. /*****************************************************************************/
  20. /*===========================================================================*/
  21. /* WWInterrupt クラスのもの */
  22. /*===========================================================================*/
  23. int WWInterrupt_GetNumber(WWInterrupt interrupt, int num);
  24. WWInterruptCallback WWInterrupt_GetCallback(WWInterrupt interrupt, int n);
  25. int WWInterrupt_GetCS(WWInterrupt interrupt, int number);
  26. int WWInterrupt_GetDS(WWInterrupt interrupt, int number);
  27. WWInterruptCallback WWInterrupt_SetCallback(WWInterrupt interrupt, int num,
  28. WWInterruptCallback callback);
  29. int WWInterrupt_SetCS(WWInterrupt interrupt, int num, int cs);
  30. int WWInterrupt_SetDS(WWInterrupt interrupt, int num, int ds);
  31. int WWInterrupt_ExecuteCallback(WWInterrupt i, int n);
  32. /*---------------------------------------------------------------------------*/
  33. /* Number の取得 */
  34. /*---------------------------------------------------------------------------*/
  35. int WWInterrupt_GetSendReadyNumber(WWInterrupt interrupt);
  36. int WWInterrupt_GetKeyNumber(WWInterrupt interrupt);
  37. int WWInterrupt_GetCasetteNumber(WWInterrupt interrupt);
  38. int WWInterrupt_GetReceiveReadyNumber(WWInterrupt interrupt);
  39. int WWInterrupt_GetDisplineNumber(WWInterrupt interrupt);
  40. int WWInterrupt_GetTimerCountUpNumber(WWInterrupt interrupt);
  41. int WWInterrupt_GetVBlankNumber(WWInterrupt interrupt);
  42. int WWInterrupt_GetHBlankCountUpNumber(WWInterrupt interrupt);
  43. /*---------------------------------------------------------------------------*/
  44. /* コールバック関数の取得 */
  45. /*---------------------------------------------------------------------------*/
  46. WWInterruptCallback WWInterrupt_GetSendReadyCallback(WWInterrupt interrupt);
  47. WWInterruptCallback WWInterrupt_GetKeyCallback(WWInterrupt interrupt);
  48. WWInterruptCallback WWInterrupt_GetCasetteCallback(WWInterrupt interrupt);
  49. WWInterruptCallback WWInterrupt_GetReceiveReadyCallback(WWInterrupt interrupt);
  50. WWInterruptCallback WWInterrupt_GetDisplineCallback(WWInterrupt interrupt);
  51. WWInterruptCallback WWInterrupt_GetTimerCountUpCallback(WWInterrupt interrupt);
  52. WWInterruptCallback WWInterrupt_GetVBlankCallback(WWInterrupt interrupt);
  53. WWInterruptCallback WWInterrupt_GetHBlankCountUpCallback(WWInterrupt interrupt);
  54. /*---------------------------------------------------------------------------*/
  55. /* CS の取得 */
  56. /*---------------------------------------------------------------------------*/
  57. int WWInterrupt_GetSendReadyCS(WWInterrupt interrupt);
  58. int WWInterrupt_GetKeyCS(WWInterrupt interrupt);
  59. int WWInterrupt_GetCasetteCS(WWInterrupt interrupt);
  60. int WWInterrupt_GetReceiveReadyCS(WWInterrupt interrupt);
  61. int WWInterrupt_GetDisplineCS(WWInterrupt interrupt);
  62. int WWInterrupt_GetTimerCountUpCS(WWInterrupt interrupt);
  63. int WWInterrupt_GetVBlankCS(WWInterrupt interrupt);
  64. int WWInterrupt_GetHBlankCountUpCS(WWInterrupt interrupt);
  65. /*---------------------------------------------------------------------------*/
  66. /* DS の取得 */
  67. /*---------------------------------------------------------------------------*/
  68. int WWInterrupt_GetSendReadyDS(WWInterrupt interrupt);
  69. int WWInterrupt_GetKeyDS(WWInterrupt interrupt);
  70. int WWInterrupt_GetCasetteDS(WWInterrupt interrupt);
  71. int WWInterrupt_GetReceiveReadyDS(WWInterrupt interrupt);
  72. int WWInterrupt_GetDisplineDS(WWInterrupt interrupt);
  73. int WWInterrupt_GetTimerCountUpDS(WWInterrupt interrupt);
  74. int WWInterrupt_GetVBlankDS(WWInterrupt interrupt);
  75. int WWInterrupt_GetHBlankCountUpDS(WWInterrupt interrupt);
  76. /*---------------------------------------------------------------------------*/
  77. /* コールバック関数の設定 */
  78. /*---------------------------------------------------------------------------*/
  79. WWInterruptCallback WWInterrupt_SetSendReadyCallback(WWInterrupt interrupt,
  80. WWInterruptCallback f);
  81. WWInterruptCallback WWInterrupt_SetKeyCallback(WWInterrupt interrupt,
  82. WWInterruptCallback f);
  83. WWInterruptCallback WWInterrupt_SetCasetteCallback(WWInterrupt interrupt,
  84. WWInterruptCallback f);
  85. WWInterruptCallback WWInterrupt_SetReceiveReadyCallback(WWInterrupt interrupt,
  86. WWInterruptCallback f);
  87. WWInterruptCallback WWInterrupt_SetDisplineCallback(WWInterrupt interrupt,
  88. WWInterruptCallback f);
  89. WWInterruptCallback WWInterrupt_SetTimerCountUpCallback(WWInterrupt interrupt,
  90. WWInterruptCallback f);
  91. WWInterruptCallback WWInterrupt_SetVBlankCallback(WWInterrupt interrupt,
  92. WWInterruptCallback f);
  93. WWInterruptCallback WWInterrupt_SetHBlankCountUpCallback(WWInterrupt interrupt,
  94. WWInterruptCallback f);
  95. /*---------------------------------------------------------------------------*/
  96. /* CS の設定 */
  97. /*---------------------------------------------------------------------------*/
  98. int WWInterrupt_SetSendReadyCS(WWInterrupt interrupt, int cs);
  99. int WWInterrupt_SetKeyCS(WWInterrupt interrupt, int cs);
  100. int WWInterrupt_SetCasetteCS(WWInterrupt interrupt, int cs);
  101. int WWInterrupt_SetReceiveReadyCS(WWInterrupt interrupt, int cs);
  102. int WWInterrupt_SetDisplineCS(WWInterrupt interrupt, int cs);
  103. int WWInterrupt_SetTimerCountUpCS(WWInterrupt interrupt, int cs);
  104. int WWInterrupt_SetVBlankCS(WWInterrupt interrupt, int cs);
  105. int WWInterrupt_SetHBlankCountUpCS(WWInterrupt interrupt, int cs);
  106. /*---------------------------------------------------------------------------*/
  107. /* DS の設定 */
  108. /*---------------------------------------------------------------------------*/
  109. int WWInterrupt_SetSendReadyDS(WWInterrupt interrupt, int ds);
  110. int WWInterrupt_SetKeyDS(WWInterrupt interrupt, int ds);
  111. int WWInterrupt_SetCasetteDS(WWInterrupt interrupt, int ds);
  112. int WWInterrupt_SetReceiveReadyDS(WWInterrupt interrupt, int ds);
  113. int WWInterrupt_SetDisplineDS(WWInterrupt interrupt, int ds);
  114. int WWInterrupt_SetTimerCountUpDS(WWInterrupt interrupt, int ds);
  115. int WWInterrupt_SetVBlankDS(WWInterrupt interrupt, int ds);
  116. int WWInterrupt_SetHBlankCountUpDS(WWInterrupt interrupt, int ds);
  117. /*---------------------------------------------------------------------------*/
  118. /* コールバック関数の実行 */
  119. /*---------------------------------------------------------------------------*/
  120. int WWInterrupt_ExecuteSendReadyCallback(WWInterrupt interrupt);
  121. int WWInterrupt_ExecuteKeyCallback(WWInterrupt interrupt);
  122. int WWInterrupt_ExecuteCasetteCallback(WWInterrupt interrupt);
  123. int WWInterrupt_ExecuteReceiveReadyCallback(WWInterrupt interrupt);
  124. int WWInterrupt_ExecuteDisplineCallback(WWInterrupt interrupt);
  125. int WWInterrupt_ExecuteTimerCountUpCallback(WWInterrupt interrupt);
  126. int WWInterrupt_ExecuteVBlankCallback(WWInterrupt interrupt);
  127. int WWInterrupt_ExecuteHBlankCountUpCallback(WWInterrupt interrupt);
  128. /*---------------------------------------------------------------------------*/
  129. /* オブジェクトの作成 */
  130. /*---------------------------------------------------------------------------*/
  131. WWInterrupt WWInterrupt_Create();
  132. /*---------------------------------------------------------------------------*/
  133. /* オブジェクトの削除 */
  134. /*---------------------------------------------------------------------------*/
  135. WWInterrupt WWInterrupt_Destroy(WWInterrupt interrupt);
  136. /*****************************************************************************/
  137. /* ここまで */
  138. /*****************************************************************************/
  139. #endif
  140. /*****************************************************************************/
  141. /* End of File. */
  142. /*****************************************************************************/