system.h 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. #ifndef __SYSTEM
  2. #define __SYSTEM
  3. #include <default.h>
  4. /* Begin Auto-Generated Part */
  5. #define KB_AUTOREPEAT (1<<11)
  6. #ifndef __HAVE_Bool
  7. #define __HAVE_Bool
  8. enum Bool{FALSE,TRUE};
  9. #endif
  10. #ifndef __HAVE_HANDLE
  11. #define __HAVE_HANDLE
  12. typedef unsigned short HANDLE;
  13. #endif
  14. typedef struct{unsigned short Head;unsigned short Tail;unsigned short Size;unsigned short Used;unsigned short Buffer[];}DEF_QUEUE;
  15. #define QUEUE(n) struct{unsigned short Head,Tail,Size,Used,Buffer[n/2];}
  16. typedef CALLBACK void(*Timer_Callback_t)(void);
  17. enum Timers{USER1_TIMER=1,BATT_TIMER=1,APD_TIMER=2,LIO_TIMER=3,CURSOR_TIMER=4,MISC_TIMER=5,USER_TIMER=6
  18. #if MIN_AMS>=204
  19. ,BATTERY_TIMER=7
  20. #endif
  21. #if MIN_AMS>=207
  22. ,BP_TIMER=8
  23. #endif
  24. };
  25. #define CTypeTable ((MIN_AMS >= 200)?((const unsigned char *)_rom_call_addr(442)):({unsigned char* __CTypeTable; asm volatile ("moveq #8,%%d0; trap #9; move.l %%a0,%0" : "=a"(__CTypeTable) : : "d0","a0"); (const unsigned char *)__CTypeTable; }))
  26. #define OSContrastValue *OSContrastAddress
  27. #define ReleaseDate ((const char*const)(_rom_call_addr_hack(43F,(((MIN_AMS>=101)||(TIOS_entries>0x2AC))?(((const char*const)_rom_call_addr(393))-11):((const char*const)"05/21/1998")),200)))
  28. #define ReleaseVersion ((const char*const)(_rom_call_addr_hack(440,((((MIN_AMS>=101)||(TIOS_entries>0x2AC))?(((const char*const)_rom_call_addr(393))-16):((const char*const)"1.00"))),200)))
  29. #define AB_prodid _rom_call(void,(char*),29D)
  30. #define AB_prodname _rom_call(void,(char*),29E)
  31. #define AB_serno _rom_call(short,(char*),29F)
  32. #define ASM_call(x) ({asm volatile("movem.l %d0-%d7/%a0-%a6,-(%sp)");ASM_fastcall(x);asm volatile("movem.l (%sp)+,%d0-%d7/%a0-%a6");})
  33. #define ASM_fastcall(x) ({__need_in_use_bit;(((void(*)())(x))());})
  34. #define CB_fetchTEXT _rom_call(short,(HANDLE*,__pulong),C2)
  35. #define CB_replaceTEXT _rom_call(short,(char*,long,short),C1)
  36. #define CU_restore _rom_call(void,(short),C3)
  37. #define CU_start _rom_call(short,(void),C4)
  38. #define CU_stop _rom_call(short,(void),C5)
  39. extern void enter_ghost_space(void)__ATTR_LIB_ASM__ __attribute__((deprecated));
  40. #define EX_patch _rom_call(void,(void*,void*),15A)
  41. #define HelpKeys ({__need_in_use_bit;_rom_call(void,(void),181);})
  42. #define idle _rom_call(void,(void),29B)
  43. extern void *kbd_queue(void)__ATTR_LIB_ASM__;
  44. #define NeedStack _rom_call(void,(short),A4)
  45. #define off _rom_call(void,(void),29A)
  46. #define OSCheckBreak _rom_call(short,(void),EC)
  47. #define OSClearBreak _rom_call(void,(void),ED)
  48. #define OSContrastAddress ({unsigned char* __addr; asm volatile ("moveq #4,%%d0; trap #9; move.l %%a0,%0" : "=a"(__addr):: "d0","a0"); __addr; })
  49. #define OSContrastDn() ({_rom_call(void,(void),297) (); asm ("":::"d3","d4");})
  50. #define OSContrastUp() ({_rom_call(void,(void),296) (); asm ("":::"d3","d4");})
  51. #define OSDisableBreak _rom_call(void,(void),EF)
  52. #define OSEnableBreak _rom_call(void,(void),EE)
  53. #define OSFreeTimer _rom_call(short,(short),F1)
  54. #define OSRegisterTimer _rom_call(short,(short,long),F0)
  55. #define OSReset _rom_call(void,(void),294)
  56. #define OSSetSR _rom_call(short,(short),29C)
  57. #define OSTimerCurVal _rom_call(unsigned long,(short),F2)
  58. #define OSTimerExpired _rom_call(short,(short),F3)
  59. #define OSTimerRestart _rom_call(unsigned long,(short),F4)
  60. extern short OSVFreeTimer(short asm("d0"))__ATTR_LIB_ASM__;
  61. extern short OSVRegisterTimer(short asm("d0"),long asm("d3"),Timer_Callback_t asm("d4"))__ATTR_LIB_ASM__;
  62. #define QModeKey _rom_call(short,(short),182)
  63. #define QSysKey _rom_call(short,(short),183)
  64. #define SumStoChkMem _rom_call(short,(void),295)
  65. #define WordInList _rom_call(short,(short,__pushort),184)
  66. #define XR_stringPtr(strno) (AMS_1xx?_rom_call(const char*,(short),293)(strno):_rom_call(const char*,(long),293)(strno))
  67. #if MIN_AMS>=101
  68. #define OSdequeue _rom_call(short,(__pushort,void*),3AA)
  69. #define OSenqueue _rom_call(short,(short,void*),3A9)
  70. #define OSqclear _rom_call(void,(void*),3AD)
  71. #define OSqhead _rom_call(unsigned short,(__pushort,void*),3AC)
  72. #define OSqinquire _rom_call(short,(__pushort,void*),3AB)
  73. #if MIN_AMS>=200
  74. #define CU_cursorState (*((signed short*)(_rom_call_addr(503))))
  75. #define FiftyMsecTick (*((volatile unsigned long*)(_rom_call_addr(4FC))))
  76. #define OSOnBreak (*((unsigned char*)(_rom_call_addr(46E))))
  77. #define AB_getGateArrayVersion _rom_call(unsigned long,(void),15E)
  78. #if MIN_AMS>=202
  79. #define LOC_formatDate _rom_call(void,(const char*,short,short,short,char*),590)
  80. #define LOC_getLocalDateFormat _rom_call(const char*,(void),58F)
  81. #define LOC_localVersionDate _rom_call(char*,(char),591)
  82. #if MIN_AMS>=204
  83. typedef struct{unsigned short len;unsigned char releaseVersionMajor;unsigned char releaseVersionMinor;unsigned short releaseDateYear;unsigned char releaseDateMonth;unsigned char releaseDateDay;}BASECODE_PARM_BLOCK;
  84. #define EX_getBasecodeParmBlock _rom_call(const void*,(void),5DA)
  85. #endif
  86. #endif
  87. #endif
  88. #endif
  89. /* End Auto-Generated Part */
  90. #endif