home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #6 / amigamamagazinepolishissue1998.iso / coders / jËzyki_programowania / ace_basic / ace / include / hardware / custom.h < prev    next >
C/C++ Source or Header  |  1977-12-31  |  6KB  |  204 lines

  1. #ifndef HARDWARE_CUSTOM_H
  2. #define HARDWARE_CUSTOM_H 1
  3. /*
  4. ** custom.h for ACE Basic
  5. **
  6. ** Note: Translated to ACE by ConvertC2ACE
  7. **       @ MapMeadow Software, Nils Sjoholm
  8. **
  9. **
  10. ** Date: 09/03/95
  11. **
  12. **
  13. */
  14.  
  15. /*
  16. ** This are the StructPointer defines for custom.h
  17. */
  18. #ifndef AudChannel_StructPtr
  19. #define AudChannel_StructPtr ADDRESS
  20. #endif
  21. #ifndef CustomPtr
  22. #define CustomPtr ADDRESS
  23. #endif
  24. #ifndef SpriteDef_StructPtr
  25. #define SpriteDef_StructPtr ADDRESS
  26. #endif
  27. /*
  28. ** End of StructPointer defines for custom.h
  29. */
  30.  
  31.  
  32. #ifndef EXEC_TYPES_H
  33. #include <exec/types.h>
  34. #endif /* EXEC_TYPES_H */
  35.  
  36.  
  37.  
  38. /*
  39.  * do this to get base of custom registers:
  40.  * extern STRUCT Custom custom 
  41.  */
  42.  
  43.  
  44. STRUCT AudChannel_Struct  
  45.       ADDRESS   ac_ptr  /* ptr to start of waveform data */
  46.       SHORTINT ac_len  /* length of waveform in words */
  47.       SHORTINT ac_per  /* sample period */
  48.       SHORTINT ac_vol  /* volume */
  49.       SHORTINT ac_dat  /* sample pair */
  50.       STRING ac_pad SIZE 4   /*  2*SIZEOF(SHORTINT) */  /* unused */
  51. END STRUCT 
  52.  
  53. STRUCT SpriteDef_Struct  
  54.       SHORTINT _pos 
  55.       SHORTINT ctl 
  56.       SHORTINT dataa 
  57.       SHORTINT datab        
  58. END STRUCT 
  59.  
  60. STRUCT Custom  
  61.     SHORTINT   bltddat 
  62.     SHORTINT   dmaconr 
  63.     SHORTINT   vposr 
  64.     SHORTINT   vhposr 
  65.     SHORTINT   dskdatr 
  66.     SHORTINT   joy0dat 
  67.     SHORTINT   joy1dat 
  68.     SHORTINT   clxdat 
  69.     SHORTINT   adkconr 
  70.     SHORTINT   pot0dat 
  71.     SHORTINT   pot1dat 
  72.     SHORTINT   potinp 
  73.     SHORTINT   serdatr 
  74.     SHORTINT   dskbytr 
  75.     SHORTINT   intenar 
  76.     SHORTINT   intreqr 
  77.     ADDRESS    dskpt 
  78.     SHORTINT   dsklen 
  79.     SHORTINT   dskdat 
  80.     SHORTINT   refptr 
  81.     SHORTINT   vposw 
  82.     SHORTINT   vhposw 
  83.     SHORTINT   copcon 
  84.     SHORTINT   serdat 
  85.     SHORTINT   serper 
  86.     SHORTINT   potgo 
  87.     SHORTINT   joytest 
  88.     SHORTINT   strequ 
  89.     SHORTINT   strvbl 
  90.     SHORTINT   strhor 
  91.     SHORTINT   strlong 
  92.     SHORTINT   bltcon0 
  93.     SHORTINT   bltcon1 
  94.     SHORTINT   bltafwm 
  95.     SHORTINT   bltalwm 
  96.     ADDRESS    bltcpt 
  97.     ADDRESS    bltbpt 
  98.     ADDRESS    bltapt 
  99.     ADDRESS    bltdpt 
  100.     SHORTINT   bltsize 
  101.     BYTE    pad2d 
  102.     BYTE    bltcon0l    /* low 8 bits of bltcon0,  write only */
  103.     SHORTINT   bltsizv 
  104.     SHORTINT   bltsizh     /* 5e */
  105.     SHORTINT   bltcmod 
  106.     SHORTINT   bltbmod 
  107.     SHORTINT   bltamod 
  108.     SHORTINT   bltdmod 
  109.     STRING pad34 SIZE 8   /*  4*SIZEOF(SHORTINT)  */
  110.     SHORTINT   bltcdat 
  111.     SHORTINT   bltbdat 
  112.     SHORTINT   bltadat 
  113.     STRING pad3b SIZE 6   /*  3*SIZEOF(SHORTINT)  */
  114.     SHORTINT   deniseid    /* 7c */
  115.     SHORTINT   dsksync 
  116.     LONGINT   cop1lc 
  117.     LONGINT   cop2lc 
  118.     SHORTINT   copjmp1 
  119.     SHORTINT   copjmp2 
  120.     SHORTINT   copins 
  121.     SHORTINT   diwstrt 
  122.     SHORTINT   diwstop 
  123.     SHORTINT   ddfstrt 
  124.     SHORTINT   ddfstop 
  125.     SHORTINT   dmacon 
  126.     SHORTINT   clxcon 
  127.     SHORTINT   intena 
  128.     SHORTINT   intreq 
  129.     SHORTINT   adkcon 
  130.     STRING aud SIZE 64
  131.     STRING bplpt SIZE 32  /*  8*SIZEOF(ADDRESS)  */
  132.     SHORTINT   bplcon0 
  133.     SHORTINT   bplcon1 
  134.     SHORTINT   bplcon2 
  135.     SHORTINT   bplcon3 
  136.     SHORTINT   bpl1mod 
  137.     SHORTINT   bpl2mod 
  138.     SHORTINT   bplcon4 
  139.     SHORTINT   clxcon2 
  140.     STRING bpldat SIZE 16  /*  8*SIZEOF(SHORTINT) */
  141.     STRING sprpt SIZE 32   /*  8*SIZEOF(ADDRESS)  */
  142.     STRING spr SIZE 64
  143.     STRING _color SIZE 64  /*  32*SIZEOF(SHORTINT)*/
  144.     SHORTINT htotal 
  145.     SHORTINT hsstop 
  146.     SHORTINT hbstrt 
  147.     SHORTINT hbstop 
  148.     SHORTINT vtotal 
  149.     SHORTINT vsstop 
  150.     SHORTINT vbstrt 
  151.     SHORTINT vbstop 
  152.     SHORTINT sprhstrt 
  153.     SHORTINT sprhstop 
  154.     SHORTINT bplhstrt 
  155.     SHORTINT bplhstop 
  156.     SHORTINT hhposw 
  157.     SHORTINT hhposr 
  158.     SHORTINT beamcon0 
  159.     SHORTINT hsstrt 
  160.     SHORTINT vsstrt 
  161.     SHORTINT hcenter 
  162.     SHORTINT diwhigh   /* 1e4 */
  163.     STRING padf3 SIZE 22   /*  11*SIZEOF(SHORTINT) */
  164.     SHORTINT fmode 
  165. END STRUCT 
  166.  
  167. #ifdef ECS_SPECIFIC
  168.  
  169. /* defines for beamcon register */
  170. #define VARVBLANK   &H1000  /* Variable vertical blank enable */
  171. #define LOLDIS      &H0800  /* LONGINT line disable */
  172. #define CSCBLANKEN  &H0400  /* redirect composite sync */
  173. #define VARVSYNC    &H0200  /* Variable vertical sync enable */
  174. #define VARHSYNC    &H0100  /* Variable horizontal sync enable */
  175. #define VARBEAM &H0080  /* variable beam counter enable */
  176. #define DISPLAYDUAL &H0040  /* use UHRES pointer and standard pointers */
  177. #define DISPLAYPAL  &H0020  /* set decodes to generate PAL display */
  178. #define VARCSYNC    &H0010  /* Variable composite sync enable */
  179. #define CSBLANK &H0008  /* Composite blank out to CSY* pin */
  180. #define CSYNCTRUE   &H0004  /* composite sync true signal */
  181. #define VSYNCTRUE   &H0002  /* vertical sync true */
  182. #define HSYNCTRUE   &H0001  /* horizontal sync true */
  183.  
  184. /* new defines for bplcon0 */
  185. #define USE_BPLCON3 1
  186.  
  187. /* new defines for bplcon2 */
  188. #define BPLCON2_ZDCTEN      (1024) /* colormapped genlock bit */
  189. #define BPLCON2_ZDBPEN      (2048) /* use bitplane as genlock bits */
  190. #define BPLCON2_ZDBPSEL0    (4096) /* three bits to select one */
  191. #define BPLCON2_ZDBPSEL1    (8192) /* of 8 bitplanes in */
  192. #define BPLCON2_ZDBPSEL2    (16384) /* ZDBPEN genlock mode */
  193.  
  194. /* defines for bplcon3 register */
  195. #define BPLCON3_EXTBLNKEN   (1)  /* external blank enable */
  196. #define BPLCON3_EXTBLKZD    (2)  /* external blank ored into trnsprncy */
  197. #define BPLCON3_ZDCLKEN (4)  /* zd pin outputs a 14mhz clock*/
  198. #define BPLCON3_BRDNTRAN    (16)  /* border is opaque */
  199. #define BPLCON3_BRDNBLNK    (32)  /* border is opaque */
  200.  
  201. #endif  /* ECS_SPECIFIC */
  202.  
  203. #endif  /* HARDWARE_CUSTOM_H */
  204.