home *** CD-ROM | disk | FTP | other *** search
/ The Amiga Demo Collection / TheAmigaDemoCollectionCDCUE.img / S / showtime05 / Bonus / BScreen.lha / Blitterscreen / general.i < prev    next >
Text File  |  1992-12-20  |  2KB  |  114 lines

  1.  
  2. WaitBlitter    macro
  3. .wait\@    btst.b    #6,$002(a6)
  4.     bne.s    .wait\@
  5.     endm
  6.  
  7. LMB    macro
  8. .lmb\@    btst.b    #6,$bfe001.l
  9.     bne.s    .lmb\@
  10.     endm
  11.  
  12. RMB    macro
  13. .rmb\@    btst.b    #2,$016(a6)
  14.     bne.s    .rmb\@
  15.     endm
  16.  
  17. ;IN : d0.l  linenumber
  18. WaitLine_def    macro
  19. WaitLine
  20.     lsl.l    #8,d0        ;numero di linea << 8
  21.     lea.l    $004(a6),a0
  22. .aspetta
  23.     MOVE.L    (a0),D1        ;prendo linea corrente
  24.     AND.L    #$1ff00,D1    ;maschero
  25.     CMP.L    d0,D1        ;sono arrivato ???
  26.     bne.s    .aspetta    ;se no aspetto
  27. .aspetta2
  28.     move.l    (a0),d1        ;riprendo linea
  29.     and.l    #$1ff00,d1    ;rimaschero
  30.     cmp.l    d0,d1        ;sono ancora nella stesa linea ???
  31.     beq.s    .aspetta2    ;se si aspetto di uscire
  32.  
  33.     rts
  34.     endm
  35.  
  36. WaitVB    macro
  37.     movem.l    d0-d1/a0,-(sp)    ;registri usati in WaitLine
  38.     move.l    #$12d,d0    ;aspetto linea 300
  39.     bsr    WaitLine    ;chiamo procedura
  40.     movem.l    (sp)+,d0-d1/a0    ;a posto i registri
  41.     endm
  42.  
  43. Wait50    macro
  44.     move.w    d0,-(sp)
  45.     move.w    #\1,d0
  46. .loop\@    WaitVB
  47.     dbra    d0,.loop\@
  48.     move.w    (sp)+,d0
  49.     endm
  50.  
  51.  
  52. slmb    macro        ;special lmb, colora lo schermo nell'attesa
  53. .loop\@    move.w    #$a00,$dff180
  54.     move.w    #$aaa,$dff180
  55.     btst.b    #6,$bfe001
  56.     bne.s    .loop\@
  57.     endm
  58.  
  59. srmb    macro        ;special rmb, colora lo schermo nell'attesa
  60. .loop\@    move.w    #$a0,$dff180
  61.     move.w    #$aaa,$dff180
  62.     btst.b    #2,$dff016
  63.     bne.s    .loop\@
  64.     endm
  65.  
  66. saveall    macro
  67.     movem.l    d0-d7/a0-a6,-(sp)
  68.     endm
  69. restoreall    macro
  70.     movem.l    (sp)+,d0-d7/a0-a6
  71.     endm
  72.  
  73. DisableAGA    macro
  74.     move.w    #0,$dff1fc
  75.     move.w    #$c00,$dff106
  76.     move.w    #$11,$dff10c
  77.     endm
  78.  
  79. COLOR0    macro
  80.     move.w    #\1,$dff180
  81.     endm
  82.  
  83. ;Prese direttamente da  exec/types.i  del SAS/C 6.56
  84. **
  85. ** Structure Building Macros
  86. **
  87. STRUCTURE   MACRO        ; structure name, initial offset
  88. \1        ;SET     0
  89. SOFFSET     SET     \2
  90.         ENDM
  91.  
  92. BYTE        MACRO        ; byte (8 bits)
  93. \1        EQU     SOFFSET
  94.         DS.B    1
  95. SOFFSET     SET     SOFFSET+1
  96.         ENDM
  97.  
  98. WORD        MACRO        ; word (16 bits)
  99. \1        EQU     SOFFSET
  100.         DS.W    1
  101. SOFFSET     SET     SOFFSET+2
  102.         ENDM
  103.  
  104. LONG        MACRO        ; long (32 bits)
  105. \1        EQU     SOFFSET
  106.         DS.L    1
  107. SOFFSET     SET     SOFFSET+4
  108.         ENDM
  109.  
  110. LABEL        MACRO        ; Define a label without bumping the offset
  111. \1        EQU     SOFFSET
  112.         ENDM
  113.  
  114.