home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / programs / emulaton / trash80 / !Trash80 / h / general < prev   
Text File  |  1992-08-19  |  2KB  |  111 lines

  1. /* Quelques definitions qui devraient se trouver dans un fichier type.h */
  2. typedef unsigned char u_char;
  3. typedef unsigned int  u_int;
  4.  
  5. #include <stddef.h>
  6.  
  7. #ifndef BOOL
  8. #define BOOL int
  9. #endif
  10.  
  11. #define ARM
  12. /* Quelques definitions et macros utiles */
  13. #define BITS 128
  14. #define BITV 4
  15. #define BITP 4
  16. #define BITC 1
  17. #define BITN 2
  18. #define BITZ 64
  19. #define BITH 16
  20.  
  21. /* Taille physique du code TRS80: 65536 pour le moment (18/05/92) */
  22. #define SIZE_CODE 65536 /* octets */
  23. #define NEXTPC Reg_PC++;Reg_PC&=0xffff
  24. #define Lire_Code(Ax) TRSCode->bytes[Ax]
  25. #define LRPC Lire_Code(Reg_PC)
  26.  
  27. typedef struct
  28.     {
  29.     u_char bytes[SIZE_CODE];
  30.     } EightBitCode;
  31.  
  32.  
  33. #define FROMRESET 1
  34. #define FROMDI 2
  35. #define FROMEI 3 
  36.  
  37. /* Longueur des denominations de path */
  38. #define FNAMELENGTH 32
  39.  
  40. #ifndef BOOL
  41. #define BOOL int
  42. #define FALSE 0
  43. #define TRUE 1
  44. #endif
  45.  
  46. #define TRS80
  47.  
  48. #ifdef TRS80
  49. #undef IM0
  50. #define IM1
  51. #undef IM2
  52. #undef PORT16
  53. #undef NMI
  54. #endif
  55.  
  56. #ifdef PORT16
  57. #define T_NO_PORT u_int
  58. #else
  59. #define T_NO_PORT u_char
  60. #endif
  61.  
  62. #ifdef ARM
  63. typedef union
  64.     {
  65.     struct
  66.         {
  67.         u_char rB, rC, rD, rE, rH, rL, rM, rA, rF;
  68.         u_char rA2, rF2, rint;
  69.         u_int rIX, rIY;
  70.         u_int rSP;
  71.         BOOL rIFF;
  72. #ifdef NMI
  73.         BOOL rIFF2;
  74.         BOOL rNature;
  75. #endif
  76.         u_char rB2, rC2, rD2, rE2, rH2, rL2;
  77.         u_char rI;
  78.         } sg;
  79. #ifdef NMI
  80.     u_char r[35];
  81. #else 
  82.     u_char r[31];
  83. #endif
  84.     } TypGlb;
  85.  
  86. #define Reg_B Glob.sg.rB
  87. #define Reg_C Glob.sg.rC
  88. #define Reg_D Glob.sg.rD
  89. #define Reg_E Glob.sg.rE
  90. #define Reg_H Glob.sg.rH
  91. #define Reg_L Glob.sg.rL
  92. #define Reg_A Glob.sg.rA
  93. #define Reg_A2 Glob.sg.rA2
  94. #define Reg_F Glob.sg.rF
  95. #define Reg_F2 Glob.sg.rF2
  96. #define Reg_IFF Glob.sg.rIFF
  97. #define Reg_IFF2 Glob.sg.rIFF
  98. #define Reg_NMI Glob.sg.rNature
  99. #define Reg_INT Glob.sg.rint
  100. #define Reg_IX Glob.sg.rIX
  101. #define Reg_IY Glob.sg.rIY
  102. #define Reg_SP Glob.sg.rSP
  103. #define Reg_B2 Glob.sg.rB2
  104. #define Reg_C2 Glob.sg.rC2
  105. #define Reg_D2 Glob.sg.rD2
  106. #define Reg_E2 Glob.sg.rE2
  107. #define Reg_H2 Glob.sg.rH2
  108. #define Reg_L2 Glob.sg.rL2
  109. #define Reg_I Glob.sg.rI
  110. #endif
  111.