waterPressureDifference.h 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  1. /*
  2. ** asm-m68k/amigahw.h -- This header defines some macros and pointers for
  3. ** the various Amiga custom hardware registers.
  4. ** The naming conventions used here conform to those
  5. ** used in the Amiga Hardware Reference Manual, 3rd Edition
  6. **
  7. ** Copyright 1992 by Greg Harp
  8. **
  9. ** This file is subject to the terms and conditions of the GNU General Public
  10. ** License. See the file COPYING in the main directory of this archive
  11. ** for more details.
  12. **
  13. ** Created: 9/24/92 by Greg Harp
  14. */
  15. #ifndef _M68K_AMIGAHW_H
  16. #define _M68K_AMIGAHW_H
  17. #include <linux/ioport.h>
  18. /*
  19. * Different Amiga models
  20. */
  21. #define AMI_UNKNOWN (0)
  22. #define AMI_500 (1)
  23. #define AMI_500PLUS (2)
  24. #define AMI_600 (3)
  25. #define AMI_1000 (4)
  26. #define AMI_1200 (5)
  27. #define AMI_2000 (6)
  28. #define AMI_2500 (7)
  29. #define AMI_3000 (8)
  30. #define AMI_3000T (9)
  31. #define AMI_3000PLUS (10)
  32. #define AMI_4000 (11)
  33. #define AMI_4000T (12)
  34. #define AMI_CDTV (13)
  35. #define AMI_CD32 (14)
  36. #define AMI_DRACO (15)
  37. /*
  38. * Chipsets
  39. */
  40. extern unsigned long amiga_chipset;
  41. #define CS_STONEAGE (0)
  42. #define CS_OCS (1)
  43. #define CS_ECS (2)
  44. #define CS_AGA (3)
  45. /*
  46. * Miscellaneous
  47. */
  48. extern unsigned long amiga_eclock; /* 700 kHz E Peripheral Clock */
  49. extern unsigned long amiga_colorclock; /* 3.5 MHz Color Clock */
  50. extern unsigned long amiga_chip_size; /* Chip RAM Size (bytes) */
  51. extern unsigned char amiga_vblank; /* VBLANK Frequency */
  52. #define AMIGAHW_DECLARE(name) unsigned name : 1
  53. #define AMIGAHW_SET(name) (amiga_hw_present.name = 1)
  54. #define AMIGAHW_PRESENT(name) (amiga_hw_present.name)
  55. struct amiga_hw_present {
  56. /* video hardware */
  57. AMIGAHW_DECLARE(AMI_VIDEO); /* Amiga Video */
  58. AMIGAHW_DECLARE(AMI_BLITTER); /* Amiga Blitter */
  59. AMIGAHW_DECLARE(AMBER_FF); /* Amber Flicker Fixer */
  60. /* sound hardware */
  61. AMIGAHW_DECLARE(AMI_AUDIO); /* Amiga Audio */
  62. /* disk storage interfaces */
  63. AMIGAHW_DECLARE(AMI_FLOPPY); /* Amiga Floppy */
  64. AMIGAHW_DECLARE(A3000_SCSI); /* SCSI (wd33c93, A3000 alike) */
  65. AMIGAHW_DECLARE(A4000_SCSI); /* SCSI (ncr53c710, A4000T alike) */
  66. AMIGAHW_DECLARE(A1200_IDE); /* IDE (A1200 alike) */
  67. AMIGAHW_DECLARE(A4000_IDE); /* IDE (A4000 alike) */
  68. AMIGAHW_DECLARE(CD_ROM); /* CD ROM drive */
  69. /* other I/O hardware */
  70. AMIGAHW_DECLARE(AMI_KEYBOARD); /* Amiga Keyboard */
  71. AMIGAHW_DECLARE(AMI_MOUSE); /* Amiga Mouse */
  72. AMIGAHW_DECLARE(AMI_SERIAL); /* Amiga Serial */
  73. AMIGAHW_DECLARE(AMI_PARALLEL); /* Amiga Parallel */
  74. /* real time clocks */
  75. AMIGAHW_DECLARE(A2000_CLK); /* Hardware Clock (A2000 alike) */
  76. AMIGAHW_DECLARE(A3000_CLK); /* Hardware Clock (A3000 alike) */
  77. /* supporting hardware */
  78. AMIGAHW_DECLARE(CHIP_RAM); /* Chip RAM */
  79. AMIGAHW_DECLARE(PAULA); /* Paula (8364) */
  80. AMIGAHW_DECLARE(DENISE); /* Denise (8362) */
  81. AMIGAHW_DECLARE(DENISE_HR); /* Denise (8373) */
  82. AMIGAHW_DECLARE(LISA); /* Lisa (8375) */
  83. AMIGAHW_DECLARE(AGNUS_PAL); /* Normal/Fat PAL Agnus (8367/8371) */
  84. AMIGAHW_DECLARE(AGNUS_NTSC); /* Normal/Fat NTSC Agnus (8361/8370) */
  85. AMIGAHW_DECLARE(AGNUS_HR_PAL); /* Fat Hires PAL Agnus (8372) */
  86. AMIGAHW_DECLARE(AGNUS_HR_NTSC); /* Fat Hires NTSC Agnus (8372) */
  87. AMIGAHW_DECLARE(ALICE_PAL); /* PAL Alice (8374) */
  88. AMIGAHW_DECLARE(ALICE_NTSC); /* NTSC Alice (8374) */
  89. AMIGAHW_DECLARE(MAGIC_REKICK); /* A3000 Magic Hard Rekick */
  90. AMIGAHW_DECLARE(PCMCIA); /* PCMCIA Slot */
  91. AMIGAHW_DECLARE(ZORRO); /* Zorro AutoConfig */
  92. AMIGAHW_DECLARE(ZORRO3); /* Zorro III */
  93. };
  94. extern struct amiga_hw_present amiga_hw_present;
  95. struct CUSTOM {
  96. unsigned short bltddat;
  97. unsigned short dmaconr;
  98. unsigned short vposr;
  99. unsigned short vhposr;
  100. unsigned short dskdatr;
  101. unsigned short joy0dat;
  102. unsigned short joy1dat;
  103. unsigned short clxdat;
  104. unsigned short adkconr;
  105. unsigned short pot0dat;
  106. unsigned short pot1dat;
  107. unsigned short potgor;
  108. unsigned short serdatr;
  109. unsigned short dskbytr;
  110. unsigned short intenar;
  111. unsigned short intreqr;
  112. unsigned char *dskptr;
  113. unsigned short dsklen;
  114. unsigned short dskdat;
  115. unsigned short refptr;
  116. unsigned short vposw;
  117. unsigned short vhposw;
  118. unsigned short copcon;
  119. unsigned short serdat;
  120. unsigned short serper;
  121. unsigned short potgo;
  122. unsigned short joytest;
  123. unsigned short strequ;
  124. unsigned short strvbl;
  125. unsigned short strhor;
  126. unsigned short strlong;
  127. unsigned short bltcon0;
  128. unsigned short bltcon1;
  129. unsigned short bltafwm;
  130. unsigned short bltalwm;
  131. unsigned char *bltcpt;
  132. unsigned char *bltbpt;
  133. unsigned char *bltapt;
  134. unsigned char *bltdpt;
  135. unsigned short bltsize;
  136. unsigned char pad2d;
  137. unsigned char bltcon0l;
  138. unsigned short bltsizv;
  139. unsigned short bltsizh;
  140. unsigned short bltcmod;
  141. unsigned short bltbmod;
  142. unsigned short bltamod;
  143. unsigned short bltdmod;
  144. unsigned short spare2[4];
  145. unsigned short bltcdat;
  146. unsigned short bltbdat;
  147. unsigned short bltadat;
  148. unsigned short spare3[3];
  149. unsigned short deniseid;
  150. unsigned short dsksync;
  151. unsigned short *cop1lc;
  152. unsigned short *cop2lc;
  153. unsigned short copjmp1;
  154. unsigned short copjmp2;
  155. unsigned short copins;
  156. unsigned short diwstrt;
  157. unsigned short diwstop;
  158. unsigned short ddfstrt;
  159. unsigned short ddfstop;
  160. unsigned short dmacon;
  161. unsigned short clxcon;
  162. unsigned short intena;
  163. unsigned short intreq;
  164. unsigned short adkcon;
  165. struct {
  166. unsigned short *audlc;
  167. unsigned short audlen;
  168. unsigned short audper;
  169. unsigned short audvol;
  170. unsigned short auddat;
  171. unsigned short audspare[2];
  172. } aud[4];
  173. unsigned char *bplpt[8];
  174. unsigned short bplcon0;
  175. unsigned short bplcon1;
  176. unsigned short bplcon2;
  177. unsigned short bplcon3;
  178. unsigned short bpl1mod;
  179. unsigned short bpl2mod;
  180. unsigned short bplcon4;
  181. unsigned short clxcon2;
  182. unsigned short bpldat[8];
  183. unsigned char *sprpt[8];
  184. struct {
  185. unsigned short pos;
  186. unsigned short ctl;
  187. unsigned short dataa;
  188. unsigned short datab;
  189. } spr[8];
  190. unsigned short color[32];
  191. unsigned short htotal;
  192. unsigned short hsstop;
  193. unsigned short hbstrt;
  194. unsigned short hbstop;
  195. unsigned short vtotal;