system.h 4.8 KB

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