WWInterrupt.h 8.9 KB

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