home *** CD-ROM | disk | FTP | other *** search
/ Global Amiga Experience / globalamigaexperience.iso / compressed / development / clusterdemo.dms / clusterdemo.adf / Modules.lha / modules / txt / Hardware.def < prev    next >
Text File  |  1994-05-25  |  14KB  |  341 lines

  1. |##########|
  2. |#MAGIC   #|CLABLILH
  3. |#PROJECT #|""
  4. |#PATHS   #|"StdProject"
  5. |#FLAGS   #|xx-x-x--x---x-x-----------------
  6. |#USERSW  #|--------------------------------
  7. |#USERMASK#|--------------------------------
  8. |#SWITCHES#|xx---xxxxx------
  9. |##########|
  10. DEFINITION MODULE Hardware;
  11. (* $A- *)
  12. FROM System IMPORT BITSET,PROC,SHORTSET;
  13.  
  14. TYPE
  15.   AdkFlags      = (use0v1,use1v2,use2v3,use3vn,use0p1,use1p2,use2p3,use3pn,
  16.                    fast,msbSync,wordSync,uartBrk,mfmPrec,preComp0,
  17.                    preComp1,adkSet);
  18.   AdkFlagSet    = SET OF AdkFlags;
  19.  
  20. CONST
  21.   pre000ns      = AdkFlagSet:{};
  22.   pre140ns      = AdkFlagSet:{preComp0};
  23.   pre280ns      = AdkFlagSet:{preComp1};
  24.   pre560ns      = AdkFlagSet:{preComp0,preComp1};
  25.  
  26. TYPE
  27.   DmaFlags      = (aud0,aud1,aud2,aud3,disk,sprite,blitter,copper,
  28.                    raster,master,blithog,df11,df12,bltnzero,bltdone,dmaSet);
  29.   DmaFlagSet    = SET OF DmaFlags;
  30.  
  31. CONST
  32.   DmaAll        = DmaFlagSet:{aud0..raster};
  33.  
  34. TYPE
  35.   IntFlags      = (tbe,      dskblk,   softint,  ports,    coper,    vertb,
  36.                    blit,     aud0i,    aud1i,    aud2i,    aud3i,    rbf,
  37.                    disksync, exter,    inten,    intSet );
  38.   IntFlagSet    = SET OF IntFlags;
  39.  
  40. CONST
  41.   hSizeBits     = 6;
  42.   vSizeBits     = 16-hSizeBits;
  43.   hSizeMask     = %0000000000111111;
  44.   vSizeMask     = %0000001111111111;
  45.   maxBytesPerRow= 128;
  46.  
  47. TYPE
  48.   BC0Flags      = (nanbnc,nanbc,nabnc,nabc,anbnc,anbc,abnc,abc,
  49.                    dest,srcC,srcB,srcA,ash1,ash2,ash4,ash8);
  50.   BC0FlagSet    = SET OF BC0Flags;
  51.   BC0FlagSetLow = SET OF [nanbnc..abc];
  52.  
  53. CONST
  54.   aORb          = BC0FlagSet:{nabnc,nabc,anbnc,anbc,abnc,abc};
  55.   aORc          = BC0FlagSet:{nanbc,nabc,anbnc,anbc,abnc,abc};
  56.   aXORc         = BC0FlagSet:{nabc,abnc,nanbc,anbnc};
  57.   aTOd          = BC0FlagSet:{abc,anbc,abnc,anbnc};
  58.  
  59. TYPE
  60.   BC1Flags      = (lineMode,desc,fillCarryIn,fillOr,fillXor,ovFlag,signFlag,
  61.                    bf7,bf8,bf9,bf10,bf11,bsh1,bsh2,bsh4,bsh8);
  62.   BC1FlagSet    = SET OF BC1Flags;
  63.  
  64. CONST
  65.   OneDot        = desc;
  66.   blitReverse   = desc;
  67.   aul           = BC1FlagSet:{fillCarryIn};
  68.   sul           = BC1FlagSet:{fillOr};
  69.   sud           = BC1FlagSet:{fillXor};
  70.   octant1       = sud;
  71.   octant2       = BC1FlagSet:{};
  72.   octant3       = sul;
  73.   octant4       = aul+sud;
  74.   octant5       = aul+sul+sud;
  75.   octant6       = aul+sul;
  76.   octant7       = aul;
  77.   octant8       = sul+sud;
  78.  
  79. TYPE
  80.   BltNodePtr    = POINTER TO BltNode;
  81.   BltNode       = RECORD
  82.                     next      : BltNodePtr;
  83.                     function  : PROC;
  84.                     stat      : SHORTINT;
  85.                     blitSize  : INTEGER;
  86.                     beamSync  : INTEGER;
  87.                     cleanUp   : PROC
  88.                   END;
  89.  
  90. CONST
  91.   cleanup       = $40;
  92.  
  93. TYPE
  94.   BP0Flags          = (useBP3,ersy,bplace,lpen,bp04,bp05,bp06,bp07,gaud,
  95.                        color,dbplf,homod,bpu0,bpu1,bpu2,bphires);
  96.   BP0FlagSet        = SET OF BP0Flags;
  97.   BP1Flags          = (p1h0,p1h1,p1h2,p1h3,p2h0,p2h1,p2h2,p2h3,bp18);
  98.   BP1FlagSet        = SET OF BP1Flags;
  99.   BP2Flags          = (pf1p0,pf1p1,pf1p2,pf2p0,pf2p1,pf2p2,pf2pri,bp27,
  100.                        bp28,bp29,zdCten,zdBPen,zdBPSel0,zdBPSel1,zdBPSel2);
  101.   BP2FlagSet        = SET OF BP2Flags;
  102.   BP3Flags          = (extBlnkEn,extBlkZD,zdClkEn,bp33,brdNTran,brdNBlnk);
  103.   BP3FlagSet        = SET OF BP3Flags;
  104.  
  105.   Beam0Flags        = (hSyncTrue,vSyncTrue,CSyncTrue,csBlank,
  106.                        varCSync,displayPal,displayDual,varBeam,
  107.                        varHSync,varVSync,cscBlankEn,loLDis,
  108.                        varVBlank);
  109.   Beam0FlagSet      = SET OF Beam0Flags;
  110.  
  111.   CXDFlags          = (p1p2,p1s01,p1s23,p1s45,p1s67,p2s01,p2s23,p2s45,p2s67,
  112.                        s01s23,s01s45,s01s67,s23s45,s23s67,s45s67);
  113.   CXDFlagSet        = SET OF CXDFlags;
  114.   CXCFlags          = (mvbp1,mvbp2,mvbp3,mvbp4,mvbp5,mvbp6,enbp1,enbp2,
  115.                        enbp3,enbp4,enbp5,enbp6,ensp1,ensp3,ensp5,ensp7);
  116.   CXCFlagSet        = SET OF CXCFlags;
  117.  
  118.   PotFlags          = (start,pf1,pf2,pf3,pf4,pf5,pf6,pf7,datalx,outlx,
  119.                        dataly,outly,datarx,outrx,datary,outry);
  120.   PotFlagSet        = SET OF PotFlags;
  121.  
  122.   SpriteControlFlags = (sho,ev8,sv8,sct3,sct4,sct5,sct6,att);
  123.   SpriteControlFlagSet = SET OF SpriteControlFlags;
  124.   SpriteControlInfo = RECORD
  125.                         ev     : SHORTCARD;
  126.                         flags  : SpriteControlFlagSet;
  127.                       END;
  128.   SpriteInfo        = RECORD
  129.                         pos   : CARDINAL;
  130.                         ctl   : SpriteControlInfo;
  131.                         data  : LONGCARD;
  132.                       END;
  133.   Sprites           = ARRAY [0..7] OF SpriteInfo;
  134.  
  135.   SerialFlags       = (d8,stop,sf2,rxd,tsre,tbes,rbfs,ovrun);
  136.   SerialFlagSet     = SET OF SerialFlags;
  137.   SerialInfo        = RECORD
  138.                         flags : SerialFlagSet;
  139.                         data  : CHAR
  140.                       END;
  141.  
  142.   DiskFlags         = (df0,df1,df2,df3,wordEqual,diskWrite,dmaOn,dskByte);
  143.   DiskFlagSet       = SET OF DiskFlags;
  144.   DiskInfo          = RECORD
  145.                         flags : DiskFlagSet;
  146.                         data  : SHORTCARD
  147.                       END;
  148.   Coord             = RECORD
  149.                         v,h : SHORTINT
  150.                       END;
  151.  
  152.   CustomPtr         = POINTER TO
  153.                         RECORD
  154.                           bltddat    : BITSET;
  155.                           dmaconr    : DmaFlagSet;
  156.                           vposr      : LONGCARD;
  157.                           dskdatr    : CARDINAL;
  158.                           joy0dat,
  159.                           joy1dat    : Coord;
  160.                           clxdat     : CXDFlagSet;
  161.                           adkconr    : AdkFlagSet;
  162.                           pot0dat,
  163.                           pot1dat    : Coord;
  164.                           potgor     : PotFlagSet;
  165.                           serdatr    : SerialInfo;
  166.                           dskbytr    : DiskInfo;
  167.                           intenar,
  168.                           intreqr    : IntFlagSet;
  169.                           dskpt      : ANYPTR;
  170.                           dsklen     : CARDINAL;
  171.                           dskdat     : CARDINAL;
  172.                           refptr     : CARDINAL;
  173.                           vpos       : LONGCARD;
  174.                           copcon     : BOOLEAN;
  175.                           serdat     : SerialInfo;
  176.                           serper     : CARDINAL;
  177.                           potgo      : PotFlagSet;
  178.                           joytest    : Coord;
  179.                           strequ     : CARDINAL;
  180.                           strvbl     : CARDINAL;
  181.                           strhor     : CARDINAL;
  182.                           strlong    : CARDINAL;
  183.                           bltcon0    : BC0FlagSet;
  184.                           bltcon1    : BC1FlagSet;
  185.                           bltafwm,
  186.                           bltalwm    : BITSET;
  187.                           bltcpt,
  188.                           bltbpt,
  189.                           bltapt,
  190.                           bltdpt     : ANYPTR;
  191.                           bltsize    : CARDINAL;
  192.                           pad2d      : SHORTCARD;
  193.                           bltcon0l   : BC0FlagSetLow;
  194.                           bltsizv,
  195.                           bltsizh    : CARDINAL;
  196.                           bltcmod,
  197.                           bltbmod,
  198.                           bltamod,
  199.                           bltdmod    : CARDINAL;
  200.                           unused2    : ARRAY [0..3] OF CARDINAL;
  201.                           bltcdat,
  202.                           bltbdat,
  203.                           bltadat    : BITSET;
  204.                           unused3    : ARRAY [0..2] OF CARDINAL;
  205.                           deniseid   : CARDINAL;
  206.                           dsksync    : BITSET;
  207.                           cop1lc,
  208.                           cop2lc     : ANYPTR;
  209.                           copjmp1,
  210.                           copjmp2    : INTEGER;
  211.                           copins     : CARDINAL;
  212.                           diwstrt,
  213.                           diwstop,
  214.                           ddfstrt,
  215.                           ddfstop    : Coord;
  216.                           dmacon     : DmaFlagSet;
  217.                           clxcon     : CXCFlagSet;
  218.                           intena,
  219.                           intreq     : IntFlagSet;
  220.                           adkcon     : AdkFlagSet;
  221.                           aud        : ARRAY [0..3] OF
  222.                                          RECORD
  223.                                             audlc  : ANYPTR;
  224.                                             audlen : CARDINAL;
  225.                                             audper : CARDINAL;
  226.                                             audvol : CARDINAL;
  227.                                             auddat : INTEGER;
  228.                                             unused : LONGINT
  229.                                           END;
  230.                           bplpt      : ARRAY [0..7] OF ANYPTR;
  231.                           bplcon0    : BP0FlagSet;
  232.                           bplcon1    : BP1FlagSet;
  233.                           bplcon2    : BP2FlagSet;
  234.                           bplcon3    : BP3FlagSet;
  235.                           bpl1mod,
  236.                           bpl2mod    : CARDINAL;
  237.                           unused5    : LONGINT;
  238.                           bpldat     : ARRAY [0..7] OF CARDINAL;
  239.                           sprpt      : ARRAY [0..7] OF ANYPTR;
  240.                           spr        : Sprites;
  241.                           colors     : ARRAY [0..31] OF CARDINAL;
  242.                           htotal     : CARDINAL;
  243.                           hsstop     : CARDINAL;
  244.                           hbstrt     : CARDINAL;
  245.                           hbstop     : CARDINAL;
  246.                           vtotal     : CARDINAL;
  247.                           vsstop     : CARDINAL;
  248.                           vbstrt     : CARDINAL;
  249.                           vbstop     : CARDINAL;
  250.                           sprhstrt   : CARDINAL;
  251.                           sprhstop   : CARDINAL;
  252.                           bplhstrt   : CARDINAL;
  253.                           bplhstop   : CARDINAL;
  254.                           hhposw     : CARDINAL;
  255.                           hhposr     : CARDINAL;
  256.                           beamcon0   : Beam0FlagSet;
  257.                           hsstrt     : CARDINAL;
  258.                           vsstrt     : CARDINAL;
  259.                           hcenter    : CARDINAL;
  260.                           diwhigh    : CARDINAL;
  261.                         END;
  262.  
  263. CONST
  264.   Custom        = CustomPtr($DFF000);
  265.  
  266. TYPE
  267.   CiaIcrFlags   = (ta,tb,alrm,so,flg,if5,if6,setClr);
  268.   CiaIcrFlagSet = SET OF CiaIcrFlags;
  269.  
  270. CONST
  271.   ir            = setClr;
  272.  
  273. TYPE
  274.   CiaCraFlags   = (craStart,craPbon,craOutmode,craRunmode,craLoad,
  275.                    craInmode,craSpmode,craTodin);
  276.   CiaCraFlagSet = SET OF CiaCraFlags;
  277.   CiaCrbFlags   = (crbStart,crbPbon,crbOutmode,crbRunmode,crbLoad,
  278.                    crbInmode0,crbInmode1,crbAlarm);
  279.   CiaCrbFlagSet = SET OF CiaCrbFlags;
  280.  
  281.   CiaaPraFlags  = (overlay,led,dskChange,dskPrt,dskTrack0,dskRdy,
  282.                    gamePort0,gamePort1);
  283.   CiaaPraFlagSet= SET OF CiaaPraFlags;
  284.   CiaaPrbFlags  = [0..7];
  285.   CiaaPrbFlagSet= SET OF CiaaPrbFlags;
  286.  
  287.   CiabPraFlags  = (prtrBusy,prtrPOut,prtrSel,comDSR,comCTS,comCD,comRTS,
  288.                    comDTR);
  289.   CiabPraFlagSet= SET OF CiabPraFlags;
  290.   CiabPrbFlags  = (dskStep,dskDirec,dskSide,dskSel0,dskSel1,dskSel2,
  291.                    dskSel3,dskMotor);
  292.   CiabPrbFlagSet= SET OF CiabPrbFlags;
  293.  
  294.   Pad           = ARRAY [2..255] OF SHORTINT;
  295.  
  296.   CIAAPtr       = POINTER TO
  297.                     RECORD
  298.                       pra    : CiaaPraFlagSet; pad0  : Pad;
  299.                       prb    : CiaaPrbFlagSet; pad1  : Pad;
  300.                       ddra   : CiaaPraFlagSet; pad2  : Pad;
  301.                       ddrb   : CiaaPrbFlagSet; pad3  : Pad;
  302.                       talo   : SHORTCARD;      pad4  : Pad;
  303.                       tahi   : SHORTCARD;      pad5  : Pad;
  304.                       tblo   : SHORTCARD;      pad6  : Pad;
  305.                       tbhi   : SHORTCARD;      pad7  : Pad;
  306.                       todlo  : SHORTCARD;      pad8  : Pad;
  307.                       todmid : SHORTCARD;      pad9  : Pad;
  308.                       todhi  : SHORTCARD;      pad10 : Pad;
  309.                       unused : SHORTCARD;      pad11 : Pad;
  310.                       sdr    : SHORTSET;       pad12 : Pad;
  311.                       icr    : CiaIcrFlagSet;  pad13 : Pad;
  312.                       cra    : CiaCraFlagSet;  pad14 : Pad;
  313.                       crb    : CiaCrbFlagSet;  pad15 : Pad;
  314.                     END;
  315.   CIABPtr       = POINTER TO
  316.                     RECORD
  317.                       pra    : CiabPraFlagSet; pad0  : Pad;
  318.                       prb    : CiabPrbFlagSet; pad1  : Pad;
  319.                       ddra   : CiabPraFlagSet; pad2  : Pad;
  320.                       ddrb   : CiabPrbFlagSet; pad3  : Pad;
  321.                       talo   : SHORTCARD;      pad4  : Pad;
  322.                       tahi   : SHORTCARD;      pad5  : Pad;
  323.                       tblo   : SHORTCARD;      pad6  : Pad;
  324.                       tbhi   : SHORTCARD;      pad7  : Pad;
  325.                       todlo  : SHORTCARD;      pad8  : Pad;
  326.                       todmid : SHORTCARD;      pad9  : Pad;
  327.                       todhi  : SHORTCARD;      pad10 : Pad;
  328.                       unused : SHORTCARD;      pad11 : Pad;
  329.                       sdr    : SHORTSET;       pad12 : Pad;
  330.                       icr    : CiaIcrFlagSet;  pad13 : Pad;
  331.                       cra    : CiaCraFlagSet;  pad14 : Pad;
  332.                       crb    : CiaCrbFlagSet;  pad15 : Pad;
  333.                     END;
  334.  
  335. CONST
  336.   CIAA          = CIAAPtr($BFE001);
  337.   CIAB          = CIABPtr($BFD000);
  338.  
  339. END Hardware.
  340.  
  341.